Passer au contenu principal
Si vous utilisez l’un des fournisseurs pris en charge (dans la barre latérale), consultez le guide spécifique à ce fournisseur.
ClickPipes prend en charge Postgres à partir de la version 12.

Activer la réplication logique

  1. Pour activer la réplication sur votre instance Postgres, assurez-vous que les paramètres suivants sont définis :
    wal_level = logical
    
    Pour le vérifier, vous pouvez exécuter la commande SQL suivante :
    SHOW wal_level;
    
    La valeur renvoyée doit être logical. Sinon, exécutez :
    ALTER SYSTEM SET wal_level = logical;
    
  2. En outre, il est recommandé de définir les paramètres suivants sur l’instance Postgres :
    max_wal_senders > 1
    max_replication_slots >= 4
    
    Pour le vérifier, vous pouvez exécuter les commandes SQL suivantes :
    SHOW max_wal_senders;
    SHOW max_replication_slots;
    
    Si les valeurs ne correspondent pas aux valeurs recommandées, vous pouvez exécuter les commandes SQL suivantes pour les définir :
    ALTER SYSTEM SET max_wal_senders = 10;
    ALTER SYSTEM SET max_replication_slots = 10;
    
  3. Si vous avez apporté des modifications à la configuration comme indiqué ci-dessus, vous DEVEZ REDÉMARRER l’instance Postgres pour qu’elles prennent effet.

Création d’un utilisateur avec des permissions et une publication

Connectez-vous à votre instance Postgres 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 permissions 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 avec les tables que vous souhaitez répliquer. Nous vous recommandons vivement de n’inclure dans la publication que les tables dont vous avez besoin afin d’éviter toute surcharge de performance.
Toute table incluse dans la publication doit soit avoir une clé primaire définie, soit avoir sa replica identity configurée sur FULL. Consultez la FAQ Postgres pour savoir comment en définir le périmètre.
  • 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 donné :
      CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
      
La publication clickpipes contiendra l’ensemble des événements de modification générés par les tables spécifiées, et sera ensuite utilisée pour ingérer le flux de réplication.

Autoriser les connexions dans pg_hba.conf pour l’utilisateur ClickPipes

Si vous gérez le service vous-même, vous devez autoriser les connexions de l’utilisateur ClickPipes depuis les adresses IP de ClickPipes en suivant les étapes ci-dessous. Si vous utilisez un service géré, vous pouvez faire de même en suivant la documentation du fournisseur.
  1. Apportez les modifications nécessaires au fichier pg_hba.conf pour autoriser les connexions de l’utilisateur ClickPipes depuis les adresses IP de ClickPipes. Voici à quoi pourrait ressembler une entrée dans le fichier pg_hba.conf :
    host    all   clickpipes_user     0.0.0.0/0          scram-sha-256
    
  2. Rechargez l’instance PostgreSQL pour que les modifications prennent effet :
    SELECT pg_reload_conf();
    

Augmentez max_slot_wal_keep_size

Il s’agit d’une modification de configuration recommandée pour éviter que des transactions/commits volumineux n’entraînent la suppression du slot de réplication. Vous pouvez augmenter le paramètre max_slot_wal_keep_size de votre instance PostgreSQL à une valeur plus élevée (au moins 100GB ou 102400) en mettant à jour le fichier postgresql.conf.
max_slot_wal_keep_size = 102400
Vous pouvez recharger l’instance Postgres pour que les modifications soient prises en compte :
SELECT pg_reload_conf();
Pour une recommandation plus précise concernant cette valeur, vous pouvez contacter l’équipe ClickPipes.

Et ensuite ?

Vous pouvez maintenant créer votre ClickPipe et commencer à ingérer les 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 lors de la création du ClickPipe.
Dernière modification le 25 juin 2026