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

> Configure o Azure Flexible Server for Postgres como uma fonte para o ClickPipes

# Guia de configuração da fonte Azure flexible server for Postgres

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

O ClickPipes oferece suporte ao Postgres 12 e versões posteriores.

<div id="enable-logical-replication">
  ## Habilitar replicação lógica
</div>

**Você não precisa** seguir as etapas abaixo se `wal_level` estiver definido como `logical`. Em geral, essa configuração já estará definida se você estiver migrando de outra ferramenta de replicação de dados.

1. Clique na seção **Server parameters**

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/server_parameters.png?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=3cf1657436550cfbdd918ccaea023886" alt="Parâmetros do servidor no 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. Altere `wal_level` para `logical`

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/wal_level.png?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=ae0ad0836f33276dfe05da921c6b84a6" alt="Alterar wal_level para logical no 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. Essa alteração exigirá uma reinicialização do servidor. Portanto, reinicie-o quando solicitado.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/restart.png?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=cbb9e07703a6c54bebc9b50dc20e9af8" alt="Reiniciar o servidor após alterar 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">
  ## Criando usuários do ClickPipes e concedendo permissões
</div>

Conecte-se ao seu Azure Flexible Server Postgres com o usuário admin e execute os comandos abaixo:

1. Crie um usuário dedicado para o ClickPipes.

   ```sql theme={null}
   CREATE USER clickpipes_user PASSWORD 'some-password';
   ```

2. Conceda ao usuário criado na etapa anterior acesso de somente leitura no nível do esquema. O exemplo a seguir mostra as permissões para o esquema `public`. Repita esses comandos para cada esquema que contenha tabelas que você deseja replicar:

   ```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. Conceda privilégios de replicação ao usuário:

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

4. Crie uma [publicação](https://www.postgresql.org/docs/current/logical-replication-publication.html) com as tabelas que você deseja replicar. Recomendamos fortemente incluir na publicação apenas as tabelas necessárias para evitar sobrecarga de desempenho.

<Warning>
  Qualquer tabela incluída na publicação deve ter uma **chave primária** definida *ou* sua **identidade de réplica** configurada como `FULL`. Consulte as [FAQs do Postgres](/pt-BR/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication) para orientações sobre o escopo.
</Warning>

* Para criar uma publicação para tabelas específicas:

  ```sql theme={null}
  CREATE PUBLICATION clickpipes FOR TABLE table_to_replicate, table_to_replicate2;
  ```

  * Para criar uma publicação para todas as tabelas em um esquema específico:

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

A publicação `clickpipes` conterá o conjunto de eventos de alteração gerados pelas tabelas especificadas e, mais tarde, será usada para fazer a ingestão do fluxo de replicação.

<div id="add-clickpipes-ips-to-firewall">
  ## Adicione os IPs do ClickPipes ao firewall
</div>

Siga as etapas abaixo para adicionar os [IPs do ClickPipes](/pt-BR/integrations/clickpipes/home#list-of-static-ips) à sua rede.

1. Acesse a guia **Networking** e adicione os [IPs do ClickPipes](/pt-BR/integrations/clickpipes/home#list-of-static-ips) ao firewall
   do seu Azure Flexible Server Postgres ou ao Jump Server/bastion, se você estiver usando tunelamento SSH.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/source/azure-flexible-server-postgres/firewall.png?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=7b5af7ae361e173373f714724f774ffa" alt="Adicione os IPs do ClickPipes ao firewall no 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">
  ## O que vem a seguir?
</div>

Agora você pode [criar seu ClickPipe](/pt-BR/integrations/clickpipes/postgres) e iniciar a ingestão de dados da sua instância do Postgres para o ClickHouse Cloud.
Anote os detalhes de conexão que você usou ao configurar sua instância do Postgres, pois eles serão necessários durante o processo de criação do ClickPipe.
