Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Guide de configuration d’une source AlloyDB Postgres

Versions prises en charge

Pour transférer les données de votre instance AlloyDB vers ClickHouse Cloud à l’aide de ClickPipes, votre instance doit être configurée pour la réplication logique. Cette fonctionnalité est prise en charge à partir d’AlloyDB version 14.

Activer la réplication logique

Pour vérifier si la réplication logique est activée sur votre instance AlloyDB, exécutez la requête suivante sur votre instance primaire :

SHOW  wal_level;

Si le résultat est logical, la réplication logique est déjà activée et vous pouvez passer à l’étape suivante. Si le résultat est replica, vous devez définir les flags alloydb.enable_pglogical et alloydb.logical_decoding sur on sur l’instance primaire.

Pour activer ces flags :

  1. Dans Google Cloud Console, accédez à la page AlloyDB Clusters. Dans le menu Actions de votre instance primaire, cliquez sur Edit.

    Modifier la configuration de l’instance primaire
  2. Faites défiler la page jusqu’à Advanced configuration options et développez la section. Sous Flags, cliquez sur Add a database flag.

    Définir les flags allowdb.enable_pglogical et alloydb.logical_decoding sur on
  3. Cliquez sur Update instance pour enregistrer les modifications de configuration. Il est important de noter que cette action déclenche un redémarrage de l’instance primaire.

  4. Une fois que l’état de l’instance passe de Updating à Ready, exécutez la requête suivante sur votre instance primaire pour vérifier que la réplication logique est activée :

    SHOW  wal_level;

    Le résultat doit être logical.

    Vérifier que la réplication logique est activée

Créer un utilisateur ClickPipes et gérer les privilèges de réplication

Connectez-vous à votre instance AlloyDB en tant qu’administrateur et exécutez les commandes suivantes :

  1. Créez un utilisateur dédié pour ClickPipes :

    CREATE USER clickpipes_user PASSWORD 'some-password';
  2. Accordez à l’utilisateur créé à l’étape précédente un accès en lecture seule au niveau du schéma. L’exemple suivant montre les privilèges pour le schéma public. Répétez ces commandes pour chaque schéma contenant des tables que vous souhaitez répliquer :

    GRANT USAGE ON SCHEMA "public" TO clickpipes_user;
    GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO clickpipes_user;
    ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO clickpipes_user;
  3. Accordez à l’utilisateur les privilèges de réplication :

    ALTER USER clickpipes_user WITH REPLICATION;
  4. Créez une publication incluant les tables que vous souhaitez répliquer. Nous vous recommandons vivement de n’inclure dans la publication que les tables nécessaires afin d’éviter tout surcoût en termes de performances.

  • Pour créer une publication pour des tables spécifiques :

    CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
    • Pour créer une publication pour toutes les tables d’un schéma spécifique :

      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";

La publication clickpipes définit l’ensemble des tables dont les événements de modification seront transmis à ClickPipes. Nous déconseillons d’utiliser FOR ALL TABLES, sauf si vous comptez répliquer toutes les tables, car inclure des tables inutiles augmente le trafic WAL de Postgres vers ClickPipes et réduit l’efficacité globale de la réplication.

Configurer l’accès réseau

Ensuite, choisissez comment ClickPipes se connectera à votre instance AlloyDB.

Pour une connectivité privée depuis un service ClickHouse Cloud hébergé sur GCP, suivez le guide GCP Private Service Connect afin de configurer un point de terminaison privé inverse pour votre instance AlloyDB.

Et maintenant ?

Vous pouvez maintenant créer votre ClickPipe et commencer à ingérer des données de votre instance Postgres dans ClickHouse Cloud. Veillez à noter les informations de connexion utilisées lors de la configuration de votre instance Postgres, car vous en aurez besoin pendant le processus de création du ClickPipe.

Navigation