Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Guide de configuration de la source Supabase

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 :

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

    CREATE USER clickpipes_user PASSWORD 'some-password';
  2. 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;
  3. Accordez les privilèges de réplication à l’utilisateur :

    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 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.

Localiser les informations de connexion Supabase

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.

Navigation