> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Configurer une instance Supabase comme source pour ClickPipes

# Guide de configuration de la source Supabase

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

Voici un guide expliquant comment configurer Supabase Postgres pour l'utiliser avec ClickPipes.

<Note>
  ClickPipes prend nativement en charge Supabase via IPv6 pour une réplication fluide.
</Note>

<div id="creating-a-user-with-permissions-and-replication-slot">
  ## Création d’un utilisateur avec les permissions et le slot de réplication
</div>

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 :

   ```sql theme={null}
   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 :

   ```sql theme={null}
   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 :

   ```sql theme={null}
   ALTER USER clickpipes_user WITH REPLICATION;
   ```

4. Créez une [publication](https://www.postgresql.org/docs/current/logical-replication-publication.html) 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.

<Warning>
  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](/fr/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication) pour savoir comment en définir le périmètre.
</Warning>

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

  ```sql theme={null}
  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é :

    ```sql theme={null}
    CREATE PUBLICATION clickpipes FOR TABLES IN SCHEMA "public";
    ```

La publication `clickpipes` contiendra l’ensemble des événements de modification générés à partir des tables spécifiées, et sera ensuite utilisée pour ingérer le flux de réplication.

<div id="increase-max_slot_wal_keep_size">
  ## Augmentez `max_slot_wal_keep_size`
</div>

<Warning>
  Cette étape redémarrera votre base de données Supabase et peut entraîner une brève indisponibilité.

  Vous pouvez augmenter le paramètre `max_slot_wal_keep_size` de votre base de données Supabase à une valeur plus élevée (au moins 100GB ou `102400`) en suivant la [documentation Supabase](https://supabase.com/docs/guides/database/custom-postgres-config#cli-supported-parameters)

  Pour obtenir une recommandation plus précise concernant cette valeur, vous pouvez contacter l’équipe ClickPipes.
</Warning>

<div id="connection-details-to-use-for-supabase">
  ## Informations de connexion à utiliser pour Supabase
</div>

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.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/setup/supabase/supabase-connection-details.jpg?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=aca6d1287205724a1c8e58c1aa4fe64f" size="lg" border alt="Localiser les informations de connexion Supabase" border width="1924" height="2146" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/setup/supabase/supabase-connection-details.jpg" />

<Info>
  Le pooler de connexions n’est pas pris en charge pour la réplication basée sur le CDC. Il doit donc être désactivé.
</Info>

<div id="note-on-rls">
  ## Remarque sur la RLS
</div>

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 :

```sql theme={null}
ALTER USER clickpipes_user BYPASSRLS;
```

<div id="whats-next">
  ## Et ensuite ?
</div>

Vous pouvez maintenant [créer votre ClickPipe](/fr/integrations/clickpipes/postgres/index) 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.
