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

> Configure o Crunchy Bridge Postgres como origem no ClickPipes

# Guia de configuração da origem do Crunchy Bridge Postgres

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

O ClickPipes é compatível com o Postgres 12 e versões posteriores.

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

O Crunchy Bridge vem com a replicação lógica habilitada por [padrão](https://docs.crunchybridge.com/how-to/logical-replication). Verifique se as configurações abaixo estão definidas corretamente. Caso contrário, ajuste-as conforme necessário.

```sql theme={null}
SHOW wal_level; -- deve ser logical
SHOW max_wal_senders; -- deve ser 10
SHOW max_replication_slots; -- deve ser 10
```

<div id="creating-clickpipes-user-and-granting-permissions">
  ## Criando o usuário do ClickPipes e concedendo permissões
</div>

Conecte-se ao seu Crunchy Bridge Postgres usando o usuário `postgres` 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 acesso somente leitura no nível do schema ao usuário que você criou na etapa anterior. O exemplo a seguir mostra as permissões para o schema `public`. Repita esses comandos para cada schema 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 impacto no desempenho.

<Warning>
  Qualquer tabela incluída na publicação deve ter uma **chave primária** definida *ou* ter sua **replica identity** configurada como `FULL`. Consulte o [FAQ do Postgres](/pt-BR/integrations/clickpipes/postgres/faq#how-should-i-scope-my-publications-when-setting-up-replication) para orientações sobre como definir esse 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 schema 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 adiante, será usada para a ingestão do fluxo de replicação.

<div id="safe-list-clickpipes-ips">
  ## Inclua os IPs do ClickPipes na lista de permissões
</div>

Inclua os [IPs do ClickPipes](/pt-BR/integrations/clickpipes/home#list-of-static-ips) na lista de permissões adicionando as regras de firewall no Crunchy Bridge.

<Image size="lg" img="https://mintcdn.com/private-7c7dfe99-home-button/u7z0gNe6GWCJXTn9/images/integrations/data-ingestion/clickpipes/postgres/source/setup/crunchy-postgres/firewall_rules_crunchy_bridge.png?fit=max&auto=format&n=u7z0gNe6GWCJXTn9&q=85&s=0dcf8fc795956afdb45d6d3b703cf7c3" alt="Onde encontrar as regras de firewall no Crunchy Bridge?" border width="3024" height="1516" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/setup/crunchy-postgres/firewall_rules_crunchy_bridge.png" />

<Image size="lg" img="https://mintcdn.com/private-7c7dfe99-home-button/u7z0gNe6GWCJXTn9/images/integrations/data-ingestion/clickpipes/postgres/source/setup/crunchy-postgres/add_firewall_rules_crunchy_bridge.png?fit=max&auto=format&n=u7z0gNe6GWCJXTn9&q=85&s=ab9a5daa8045f0941b2b770064a3a6fe" alt="Adicione as regras de firewall para o ClickPipes" border width="3024" height="1030" data-path="images/integrations/data-ingestion/clickpipes/postgres/source/setup/crunchy-postgres/add_firewall_rules_crunchy_bridge.png" />

<div id="whats-next">
  ## O que vem a seguir?
</div>

Agora você pode [criar seu ClickPipe](/pt-BR/integrations/clickpipes/postgres) e começar a ingerir dados da sua instância do Postgres no ClickHouse Cloud.
Certifique-se de anotar os detalhes da conexão usados ao configurar sua instância do Postgres, pois você precisará deles durante o processo de criação do ClickPipe.
