> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-9c5a0d9c.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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/edit.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=37acdbd5098d08505c9d136768f6026f" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding1.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=ffacad9afc6cd44bc69b51388980a867" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/cloudsql_logical_decoding3.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=5a8e022b03882a768f250b1139374be1" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=bb6e09725e6da17731f847a875cd05f2" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/connections_networking.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=0b9085473bc6cb8e07b15a630c1ae985" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall1.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=200057c1f0ce60ee9ad678a6a32b4a84" 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-9c5a0d9c/CivWBOLXX12vjlrE/images/integrations/data-ingestion/clickpipes/postgres/source/google-cloudsql/firewall2.png?fit=max&auto=format&n=CivWBOLXX12vjlrE&q=85&s=0190f6ff64fbc3ce4ce66e0d6b8ca9bb" 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.
