Versions de Postgres prises en charge
ClickPipes prend en charge Postgres à partir de la version 12.
Activer la réplication logique
Vous pouvez ignorer cette section si votre instance RDS est déjà configurée avec le paramètre suivant :
rds.logical_replication = 1
Ce paramètre est généralement préconfiguré si vous avez déjà utilisé un autre outil de réplication des données.
postgres=> SHOW rds.logical_replication ;
rds.logical_replication
-------------------------
on
(1 row)Si ce n’est pas déjà configuré, suivez ces étapes :
- Créez un nouveau groupe de paramètres pour votre version de Postgres avec les paramètres requis :
- Définissez
rds.logical_replicationsur 1
- Définissez


- Appliquez le nouveau groupe de paramètres à votre base de données RDS Postgres

- Redémarrez votre instance RDS pour appliquer les modifications

Configurer l’utilisateur de la base de données
Connectez-vous à votre instance RDS Postgres en tant qu’utilisateur administrateur et exécutez les commandes suivantes :
-
Créez un utilisateur dédié pour ClickPipes :
CREATE USER clickpipes_user PASSWORD 'some-password'; -
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; -
Accordez les privilèges de réplication à l’utilisateur :
GRANT rds_replication TO clickpipes_user; -
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 nécessaires afin d’éviter tout surcoût 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 vous 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.
Utiliser l’authentification IAM (facultatif)
Instead of a password, you can authenticate the ClickPipes user with an AWS IAM role. This lets ClickPipes connect to your Amazon RDS instance without storing database credentials.
Enable IAM authentication
- Log in to your AWS account and go to the RDS instance you want to configure.
- Click Modify.
- Scroll to the Database authentication section.
- Select Password and IAM database authentication.
- Click Continue.
- Review the changes and select Apply immediately.
Create the ClickPipes user
Create the ClickPipes user with IAM authentication enabled, then grant it the same schema and replication privileges shown above:
CREATE USER clickpipes_iam_user;
GRANT rds_iam TO clickpipes_iam_user;Obtain the ClickHouse service IAM role ARN
- Log in to your ClickHouse Cloud account.
- Select the ClickHouse service you want to connect.
- Select the Settings tab.
- Scroll to the Network security information section at the bottom of the page.
- Copy the service's Service role ID (IAM) value, shown below.

This value is your {ClickHouse_IAM_ARN} — the role ClickPipes uses to access your RDS instance.
Obtain the resource ID
- Log in to your AWS account and go to the RDS instance you want to configure.
- Select the Configuration tab.
- Note the Resource ID value — it looks like
db-xxxxxxxxxxxxxx. This is your{RDS_RESOURCE_ID}, which you reference in the permissions policy.
Create the IAM role
- Log in to your AWS account with an IAM user that has permission to create and manage IAM roles.
- Open the IAM console.
- Create a new IAM role with the following trust and permissions policies.
Trust policy (replace
{ClickHouse_IAM_ARN}with the IAM role ARN of your ClickHouse instance):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "{ClickHouse_IAM_ARN}" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }Permissions policy (replace
{RDS_RESOURCE_ID}with the resource ID of your RDS instance,{RDS_REGION}with its region, and{AWS_ACCOUNT}with your AWS account ID):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": [ "arn:aws:rds-db:{RDS_REGION}:{AWS_ACCOUNT}:dbuser:{RDS_RESOURCE_ID}/clickpipes_iam_user" ] } ] } - Once the role is created, copy its ARN. This is your
{RDS_ACCESS_IAM_ROLE_ARN}.
You can now use this IAM role to authenticate with your RDS instance from ClickPipes.
Configurer l’accès au réseau
Contrôle d’accès basé sur l’adresse IP
Si vous souhaitez restreindre le trafic vers votre instance RDS, ajoutez les adresses IP NAT statiques documentées aux règles entrantes du groupe de sécurité de votre instance RDS.


Accès privé via AWS PrivateLink
Pour vous connecter à votre instance RDS via un réseau privé, vous pouvez utiliser AWS PrivateLink. Suivez notre guide de configuration d’AWS PrivateLink pour ClickPipes pour établir la connexion.
Solutions de contournement pour RDS Proxy
RDS Proxy ne prend pas en charge les connections de réplication logique. Si vous utilisez des adresses IP dynamiques dans RDS et que vous ne pouvez pas utiliser un nom DNS ni une fonction Lambda, voici quelques alternatives :
- À l’aide d’une tâche cron, résolvez périodiquement l’adresse IP de l’endpoint RDS et mettez à jour le NLB si elle a changé.
- Utiliser les notifications d’événements RDS avec EventBridge/SNS : déclenchez automatiquement les mises à jour à l’aide des notifications d’événements AWS RDS.
- EC2 stable : déployez une instance EC2 pour servir de service de polling ou de proxy basé sur l’IP.
- Automatisez la gestion des adresses IP à l’aide d’outils comme Terraform ou CloudFormation.
Et ensuite ?
Vous pouvez maintenant créer votre ClickPipe et commencer à ingérer des données depuis 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.