Voici un guide expliquant comment configurer Supabase Postgres pour l'utiliser avec ClickPipes.
Création d’un utilisateur avec les permissions et le slot de réplication
Connectez-vous à votre instance Supabase en tant qu’utilisateur admin, puis exécutez les commandes suivantes :
-
Créez un utilisateur dédié pour ClickPipes :
CREATE USER clickpipes_user PASSWORD 'some-password'; -
Accordez un accès en lecture seule au niveau du schéma à l’utilisateur créé à l’étape précédente. 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; -
Accordez les privilèges de réplication à l’utilisateur :
ALTER USER clickpipes_user WITH REPLICATION; -
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 toute surcharge 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 donné :
CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
-
La publication clickpipes définit l’ensemble des tables dont les événements de modification seront diffusés vers ClickPipes. Nous déconseillons d’utiliser FOR ALL TABLES sauf si vous avez l’intention de répliquer chaque table, car inclure des tables inutiles augmente le trafic WAL de Postgres vers ClickPipes et réduit l’efficacité globale de la réplication.
Augmentez max_slot_wal_keep_size
Informations de connexion à utiliser pour Supabase
Rendez-vous dans Project Settings -> Database de votre projet Supabase (sous Configuration).
Important : désactivez Display connection pooler sur cette page, puis accédez à la section Connection parameters et notez ou copiez les paramètres.

Remarque sur la RLS
L'utilisateur Postgres de ClickPipes ne doit pas être soumis à des politiques RLS restrictives, car cela peut entraîner des données manquantes. Vous pouvez désactiver les politiques RLS pour cet utilisateur en exécutant la commande ci-dessous :
ALTER USER clickpipes_user BYPASSRLS;Et ensuite ?
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 lors de la création du ClickPipe.