> ## 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 Google Cloud SQL Postgres comme source pour ClickPipes

# Guide de configuration de Google Cloud SQL Postgres en tant que source

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

<Info>
  Si vous utilisez l’un des fournisseurs pris en charge (dans la barre latérale), veuillez consulter le guide correspondant.
</Info>

<div id="supported-postgres-versions">
  ## Versions de Postgres prises en charge
</div>

Postgres 12 ou version ultérieure

<div id="enable-logical-replication">
  ## Activer la réplication logique
</div>

**Vous n'avez pas besoin** de suivre les étapes ci-dessous si le paramètre `cloudsql. logical_decoding` est activé. Ce paramètre est généralement préconfiguré si vous migrez depuis un autre outil de réplication de données.

1. Cliquez sur le bouton **Edit** sur la page Overview.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=6a5ebf6528c434af752273aa0093e44e" alt="Bouton Edit dans Cloud SQL Postgres" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png" />

2. Accédez à Flags et définissez `cloudsql.logical_decoding` sur on. Cette modification nécessitera le redémarrage de votre serveur Postgres.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=adcdc4a1586dec13cb4d5a097bebfcbe" alt="Définir cloudsql.logical_decoding sur on" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=1e404929042d427a18acf387f000544f" alt="Redémarrer le serveur" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png" />

<div id="creating-clickpipes-user-and-granting-permissions">
  ## Création de l'utilisateur ClickPipes et attribution des permissions
</div>

Connectez-vous à votre instance Cloud SQL Postgres avec l'utilisateur admin, puis exécutez les commandes ci-dessous :

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

   ```sql theme={null}
   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 du 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 à l'utilisateur les privilèges de réplication :

   ```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 fortement de n'inclure dans la publication que les tables nécessaires afin de limiter l'impact sur les performances.

<Warning>
  Toute table incluse dans la publication doit soit avoir une **clé primaire** définie, *soit* avoir son **replica identity** configuré sur `FULL`. Consultez la [FAQ Postgres](/fr/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication) pour obtenir des conseils sur la définition du 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.

[//]: # "TODO Add SSH Tunneling"

<div id="add-clickpipes-ips-to-firewall">
  ## Ajouter les ClickPipes IPs au pare-feu
</div>

Veuillez suivre les étapes ci-dessous pour ajouter les ClickPipes IPs à votre réseau.

<Note>
  Si vous utilisez le tunneling SSH, vous devez ajouter les [ClickPipes IPs](/fr/integrations/clickpipes/home#list-of-static-ips) aux règles du pare-feu du Jump Server/Bastion.
</Note>

1. Accédez à la section **Connections**

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=9b6077e8aeb9f573b0852ad29e2aa60f" alt="Section Connections dans Cloud SQL" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png" />

2. Accédez à la sous-section Networking

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=72658bc6a30fbfb88d665494fd553070" alt="Sous-section Networking dans Cloud SQL" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png" />

3. Ajoutez les [IP publiques de ClickPipes](/fr/integrations/clickpipes/home#list-of-static-ips)

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=7b1e26a605f3e5a03a79aa6b495bf6bf" alt="Ajouter les réseaux ClickPipes au pare-feu" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=401d9be4f6fcd6a2bcab63e04c20ad0b" alt="Réseaux ClickPipes ajoutés au pare-feu" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png" />

<div id="whats-next">
  ## Quelle est la suite ?
</div>

Vous pouvez maintenant [créer votre ClickPipe](/fr/integrations/clickpipes/postgres/index) et commencer à ingérer les données de votre instance Postgres dans ClickHouse Cloud.
Veillez à noter les coordonnées de connexion utilisées lors de la configuration de votre instance Postgres, car vous en aurez besoin pendant le processus de création du ClickPipe.
