> ## 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 Azure Flexible Server for Postgres comme source pour ClickPipes

# Guide de configuration de la source Azure Flexible Server for Postgres

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

ClickPipes prend en charge Postgres à partir de la version 12.

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

**Vous n'avez pas besoin** de suivre les étapes ci-dessous si `wal_level` est défini sur `logical`. Ce paramètre est généralement déjà préconfiguré si vous migrez depuis un autre outil de réplication de données.

1. Cliquez sur la section **Server parameters**

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/server_parameters.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=972e9b0f7fe28f8c6da625a59eb668e4" alt="Paramètres du serveur dans Azure Flexible Server for Postgres" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/server_parameters.png" />

2. Modifiez `wal_level` pour le définir sur `logical`

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/wal_level.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=cc591899760fd2e29ed5b61c24da1229" alt="Définir wal_level sur logical dans Azure Flexible Server for Postgres" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/wal_level.png" />

3. Cette modification nécessite un redémarrage du serveur. Redémarrez-le donc lorsqu'on vous le demande.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/restart.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=bee1ee67ebf8aaeeb789375fd4f29899" alt="Redémarrer le serveur après avoir modifié wal_level" size="lg" border width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/restart.png" />

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

Connectez-vous à votre Azure Flexible Server Postgres avec l'utilisateur admin et 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 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 dont vous avez besoin afin d'éviter toute surcharge de performances.

<Warning>
  Toute table incluse dans la publication doit soit avoir une **clé primaire** définie, *soit* avoir son **identité de réplica** configurée sur `FULL`. Consultez la [FAQ de 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 spécifique :

    ```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 l'ingestion du flux de réplication.

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

Veuillez suivre les étapes ci-dessous pour ajouter les [adresses IP de ClickPipes](/fr/integrations/clickpipes/home#list-of-static-ips) à votre réseau.

1. Accédez à l’onglet **Networking** et ajoutez les [adresses IP de ClickPipes](/fr/integrations/clickpipes/home#list-of-static-ips) au pare-feu
   de votre Azure Flexible Server Postgres, ou du Jump Server/Bastion si vous utilisez un tunnel SSH.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/kkh98eOd_iRyUp1R/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/firewall.png?fit=max&auto=format&n=kkh98eOd_iRyUp1R&q=85&s=2f142412efa43baab2062086cb19d31f" alt="Ajouter les adresses IP de ClickPipes au pare-feu dans Azure Flexible Server for Postgres" size="lg" width="3024" height="1964" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/firewall.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 informations de connexion utilisées lors de la configuration de votre instance Postgres, car vous en aurez besoin au moment de créer le ClickPipe.
