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 e Terraform.
Pré-requisitos
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:
-
Origem genérica do Postgres, se você estiver usando qualquer outro provedor de Postgres ou uma instância self-hosted.
-
TimescaleDB, se você estiver usando a extensão TimescaleDB em um serviço gerenciado ou em uma instância self-hosted.
Depois que seu banco de dados Postgres de origem estiver configurado, você poderá continuar criando seu ClickPipe.
Criando seu ClickPipe
Certifique-se de estar conectado à sua conta do ClickHouse Cloud. Se ainda não tiver uma conta, você pode se cadastrar aqui.
- No console do ClickHouse Cloud, navegue até seu serviço do ClickHouse Cloud.

- Selecione o botão
Data Sourcesno menu à esquerda e clique em "Set up a ClickPipe"

-
Selecione o bloco
Postgres CDC
Adicionando a conexão com seu banco de dados Postgres de origem
- Preencha os detalhes da conexão com o seu banco de dados Postgres de origem, configurado na etapa de pré-requisitos.

(Opcional) Configurar o AWS Private Link
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.
(Opcional) Alterando as configurações de TLS
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:

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


Onde:
Disable TLSativa 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 verificationativa 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 CApode ser usado para fornecer uma CA a ser utilizada quando a verificação de certificados estiver habilitada.
(Opcional) Configuração do tunelamento SSH
Você pode especificar os detalhes do tunelamento SSH se o banco de dados Postgres de origem não estiver acessível publicamente.
-
Ative a opção "Usar tunelamento SSH".
-
Preencha os detalhes da conexão SSH.

-
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. -
Clique em "Verificar conexão" para verificar a conexão.
Depois de preencher os detalhes da conexão, clique em "Próximo".
Configurando as definições de replicação
-
Certifique-se de selecionar o slot de replicação na lista suspensa que você criou na etapa de pré-requisitos.

Configurações avançadas
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.
Configurando as tabelas
-
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.

-
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.
-
Além disso, você pode fornecer uma expressão personalizada
PARTITION BY <expr>para controlar o particionamento da tabela de destino do ClickHouse.
Revise as permissões e inicie o ClickPipe
-
Selecione a função "Full access" no menu suspenso de permissões e clique em "Concluir configuração".

O que vem a seguir?
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 para avaliar qual estratégia melhor atende aos seus requisitos, bem como as páginas Estratégias de desduplicação (usando CDC) e Chaves de ordenação 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.