> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=9823b3ccaa5ba98e9098b7aaf744bf6f" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=1d00989041f5cfd838a7860e636b3911" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=dafc0752b75bc47222af78f3318ed689" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=f2d3f4f26a4ca8db6f642341ca8cb491" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=afa70040ea2d39673d7e556c253c5ae3" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=ced5fa6f70d00f60c939f1dcfc919865" 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-8c05c8a2/Kmm8X3tBno--Vzxh/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png?fit=max&auto=format&n=Kmm8X3tBno--Vzxh&q=85&s=c8c0ce7d3affcfd659de46779bbfa128" 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.
