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

> Conecte seu Postgres ao ClickHouse Cloud sem complicações.

# Ingestão de dados do Postgres para ClickHouse (usando CDC)

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>Beta</span>
            </a>;
  }
  return <a href="/pt-BR/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Funcionalidade Beta</span>
        </a>;
};

Você pode usar o ClickPipes para fazer a ingestão de dados do seu banco de dados Postgres de origem no ClickHouse Cloud. O banco de dados Postgres de origem pode ser hospedado no local ou na nuvem, incluindo Amazon RDS, Google Cloud SQL, Azure Database for Postgres, Supabase e outros.

Os ClickPipes do Postgres podem ser implantados e gerenciados manualmente usando a UI do ClickPipes, bem como programaticamente usando [OpenAPI](/pt-BR/integrations/clickpipes/programmatic-access/openapi) e [Terraform](/pt-BR/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Pré-requisitos
</div>

Para começar, primeiro você precisa garantir que seu banco de dados Postgres esteja configurado corretamente. Dependendo da sua instância Postgres de origem, você pode seguir qualquer um dos guias a seguir:

1. [Amazon RDS Postgres](/pt-BR/integrations/clickpipes/postgres/source/rds)

2. [Amazon Aurora Postgres](/pt-BR/integrations/clickpipes/postgres/source/aurora)

3. [Supabase Postgres](/pt-BR/integrations/clickpipes/postgres/source/supabase)

4. [Google Cloud SQL Postgres](/pt-BR/integrations/clickpipes/postgres/source/google-cloudsql)

5. [Azure Flexible Server for Postgres](/pt-BR/integrations/clickpipes/postgres/source/azure-flexible-server-postgres)

6. [Neon Postgres](/pt-BR/integrations/clickpipes/postgres/source/neon-postgres)

7. [Crunchy Bridge Postgres](/pt-BR/integrations/clickpipes/postgres/source/crunchy-postgres)

8. [Origem genérica do Postgres](/pt-BR/integrations/clickpipes/postgres/source/generic), se você estiver usando qualquer outro provedor de Postgres ou uma instância self-hosted.

9. [TimescaleDB](/pt-BR/integrations/clickpipes/postgres/source/timescale), se você estiver usando a extensão TimescaleDB em um serviço gerenciado ou em uma instância self-hosted.

<Warning>
  Proxies de Postgres, como PgBouncer, RDS Proxy e Supabase Pooler, não são compatíveis com replicação baseada em CDC. Certifique-se de NÃO usá-los na configuração do ClickPipes e, em vez disso, informe os detalhes de conexão do banco de dados Postgres em si.
</Warning>

Depois que seu banco de dados Postgres de origem estiver configurado, você poderá continuar criando seu ClickPipe.

<div id="creating-your-clickpipe">
  ## Criando seu ClickPipe
</div>

Certifique-se de estar conectado à sua conta do ClickHouse Cloud. Se ainda não tiver uma conta, você pode se cadastrar [aqui](https://cloud.clickhouse.com/).

[//]: # "   TODO update image here"

1. No console do ClickHouse Cloud, navegue até seu serviço do ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=28f21bdc220ebac1a2802365b87fb78c" alt="Serviço do ClickPipe" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

2. Selecione o botão `Data Sources` no menu à esquerda e clique em "Set up a ClickPipe"

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=275437c400afd56e6808a20a266c9d7a" alt="Selecionar importações" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

3. Selecione o bloco `Postgres CDC`

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/postgres-tile.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=504892c7252852e609adb16aac090786" alt="Selecionar Postgres" size="lg" border width="2612" height="892" data-path="images/integrations/data-ingestion/clickpipes/postgres/postgres-tile.webp" />

<div id="adding-your-source-postgres-database-connection">
  ### Adicionando a conexão com seu banco de dados Postgres de origem
</div>

4. Preencha os detalhes da conexão com o seu banco de dados Postgres de origem, configurado na etapa de pré-requisitos.

<Info>
  Antes de começar a adicionar os detalhes da conexão, certifique-se de adicionar os endereços IP do ClickPipes à lista de permissões das regras do seu firewall. Você pode encontrar a lista de endereços IP do ClickPipes [aqui](/pt-BR/integrations/clickpipes/home#list-of-static-ips).
  Para mais informações, consulte os guias de configuração do Postgres de origem vinculados [no topo desta página](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/postgres-connection-details.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=052c2a7e35b3ab1a0c659f9410720a28" alt="Preencha os detalhes da conexão" size="lg" border width="1862" height="1628" data-path="images/integrations/data-ingestion/clickpipes/postgres/postgres-connection-details.jpg" />

<div id="optional-setting-up-aws-private-link">
  #### (Opcional) Configurar o AWS Private Link
</div>

Você pode usar o AWS Private Link para se conectar ao seu banco de dados Postgres de origem se ele estiver hospedado na AWS. Isso é útil se você
quiser manter a transferência de dados privada.
Você pode seguir o [guia de configuração para configurar a conexão](/pt-BR/integrations/clickpipes/aws-privatelink).

<div id="optional-changing-tls-settings">
  #### (Opcional) Alterando as configurações de TLS
</div>

Por padrão, seu ClickPipe será criado com TLS habilitado e verificação de certificados. Essas configurações padrão podem ser alteradas durante a criação do ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=09e4c6fcf1d5eb91edd27fab3f37ba87" alt="Configurações de TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

Ou editadas na seção *Connection settings* da aba *Settings* do seu ClickPipe pausado:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=a5fb793fa33061a8a5b5cc29afc177e2" alt="Configurações de conexão -> Editar conexão" data-og-width="1035" width="1035" data-og-height="312" height="312" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=f02d7d8ed28e30f4f74283f26462940c 280w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=e0f2378d6a9156fe9bba5bfe4c725d75 560w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=9ee6080b1119329406295925082e87dc 840w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=d10290c7c1f6cd643effd802ca5be674 1100w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=11fde8f4e6d917311d538e8bd78ed5bc 1650w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=16a53007292d2e8563474e630804f600 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=01b9f1a5c007555a6f096ffe7357d11b" alt="Editar conexão" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Onde:

* `Disable TLS` ativa ou desativa o TLS para a conexão. Desativar o TLS significa que os dados são enviados em texto simples pela rede, potencialmente incluindo credenciais e dados sensíveis.
* `Skip certificate verification` ativa ou desativa a verificação do certificado apresentado pelo banco de dados de origem. Leve em consideração as implicações de segurança de ignorar a verificação de certificados.
* `TLS Host` (opcional, usa o *Host* de origem por padrão) é o hostname ao qual o CN do certificado deve corresponder quando a verificação de certificados está habilitada.
* `Upload CA` pode ser usado para fornecer uma CA a ser utilizada quando a verificação de certificados estiver habilitada.

<div id="optional-setting-up-ssh-tunneling">
  #### (Opcional) Configuração do tunelamento SSH
</div>

Você pode especificar os detalhes do tunelamento SSH se o banco de dados Postgres de origem não estiver acessível publicamente.

1. Ative a opção "Usar tunelamento SSH".

2. Preencha os detalhes da conexão SSH.

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=32246dd5b821da001d89a9825ae2e5b4" alt="Tunelamento SSH" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

3. Para usar autenticação baseada em chave, clique em "Revogar e gerar par de chaves" para gerar um novo par de chaves e copie a chave pública gerada para o servidor SSH em `~/.ssh/authorized_keys`.

4. Clique em "Verificar conexão" para verificar a conexão.

<Note>
  Certifique-se de adicionar os [endereços IP do ClickPipes](/pt-BR/integrations/clickpipes/home#list-of-static-ips) à lista de permissões do firewall do host bastion SSH para que o ClickPipes possa estabelecer o túnel SSH.
</Note>

Depois de preencher os detalhes da conexão, clique em "Próximo".

<div id="configuring-the-replication-settings">
  ### Configurando as definições de replicação
</div>

5. Certifique-se de selecionar o slot de replicação na lista suspensa que você criou na etapa de pré-requisitos.

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/select-replication-slot.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=902b6a4c741f1742962215d6d63d9d9e" alt="Selecionar slot de replicação" size="lg" border width="1900" height="640" data-path="images/integrations/data-ingestion/clickpipes/postgres/select-replication-slot.jpg" />

<div id="advanced-settings">
  #### Configurações avançadas
</div>

Você pode configurar as Configurações avançadas, se necessário. Veja abaixo uma breve descrição de cada configuração:

* **Intervalo de sincronização**: Este é o intervalo em que o ClickPipes consultará o banco de dados de origem em busca de alterações. Isso tem impacto no serviço ClickHouse de destino; para usuários mais sensíveis a custos, recomendamos manter esse valor mais alto (acima de `3600`).
* **Threads em paralelo para a carga inicial**: Este é o número de workers em paralelo que serão usados para buscar o snapshot inicial. Isso é útil quando você tem um grande número de tabelas e quer controlar o número de workers em paralelo usados para buscar o snapshot inicial. Essa configuração é aplicada por tabela.
* **Tamanho do lote de extração**: O número de linhas a buscar em um único lote. Esta é uma configuração de melhor esforço e pode não ser respeitada em todos os casos.
* **Número de linhas por partição no snapshot**: Este é o número de linhas que serão buscadas em cada partição durante o snapshot inicial. Isso é útil quando você tem um grande número de linhas em suas tabelas e quer controlar o número de linhas buscadas em cada partição.
* **Número de tabelas em paralelo no snapshot**: Este é o número de tabelas que serão buscadas em paralelo durante o snapshot inicial. Isso é útil quando você tem um grande número de tabelas e quer controlar o número de tabelas buscadas em paralelo.

<div id="configuring-the-tables">
  ### Configurando as tabelas
</div>

6. Aqui, você pode selecionar o banco de dados de destino do seu ClickPipe. Você pode selecionar um banco de dados existente ou criar um novo.

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/select-destination-db.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=25f3785b960a73d544e1b8c189e53d33" alt="Selecionar banco de dados de destino" size="lg" border width="2528" height="546" data-path="images/integrations/data-ingestion/clickpipes/postgres/select-destination-db.jpg" />

7. Você pode selecionar as tabelas que deseja replicar do banco de dados Postgres de origem. Ao selecionar as tabelas, também é possível renomeá-las no banco de dados ClickHouse de destino, bem como excluir colunas específicas.

<Warning>
  Se você estiver definindo no ClickHouse uma chave de ordenação diferente da chave primária do Postgres, não se esqueça de ler todas as [considerações](/pt-BR/integrations/clickpipes/postgres/ordering-keys) sobre isso
</Warning>

8. Além disso, você pode fornecer uma expressão personalizada `PARTITION BY <expr>` para controlar o [particionamento da tabela ClickHouse](/partitions) de destino.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/partition-by.png?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=9cfddaa57fa68c14e7fbffadaa60d490" alt="Particionar por" size="lg" border width="897" height="635" data-path="images/integrations/data-ingestion/clickpipes/postgres/partition-by.png" />

<div id="review-permissions-and-start-the-clickpipe">
  ### Revise as permissões e inicie o ClickPipe
</div>

8. Selecione a função "Full access" no menu suspenso de permissões e clique em "Concluir configuração".

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=a2662830bd8009b779cf6fe6fc55d183" alt="Revisar permissões" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

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

Depois de configurar seu ClickPipe para replicar dados do PostgreSQL para o ClickHouse Cloud, você pode se concentrar em como consultar e modelar seus dados para obter o melhor desempenho. Consulte o [guia de migração](/pt-BR/get-started/migrate/postgres/overview) para avaliar qual estratégia melhor atende aos seus requisitos, bem como as páginas [Estratégias de desduplicação (usando CDC)](/pt-BR/integrations/clickpipes/postgres/deduplication) e [Chaves de ordenação](/pt-BR/integrations/clickpipes/postgres/ordering-keys) para conhecer as melhores práticas para workloads de CDC.

Para dúvidas comuns sobre CDC do PostgreSQL e solução de problemas, consulte a [página de perguntas frequentes do Postgres](/pt-BR/integrations/clickpipes/postgres/faq).
