Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

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:

  1. Amazon RDS Postgres

  2. Amazon Aurora Postgres

  3. Supabase Postgres

  4. Google Cloud SQL Postgres

  5. Azure Flexible Server for Postgres

  6. Neon Postgres

  7. Crunchy Bridge Postgres

  8. Origem genérica do Postgres, se você estiver usando qualquer outro provedor de Postgres ou uma instância self-hosted.

  9. 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.

  1. No console do ClickHouse Cloud, navegue até seu serviço do ClickHouse Cloud.
Serviço do ClickPipe
  1. Selecione o botão Data Sources no menu à esquerda e clique em "Set up a ClickPipe"
Selecionar importações
  1. Selecione o bloco Postgres CDC

    Selecionar Postgres

Adicionando a conexão com seu banco de dados Postgres de origem

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

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:

Configurações de TLS

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

Configurações de conexão -> Editar conexão
Editar conexão

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.

(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.

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

  2. Preencha os detalhes da conexão SSH.

    Tunelamento SSH
  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.

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

Configurando as definições de replicação

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

    Selecionar slot de replicação

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

  1. 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.

    Selecionar banco de dados de destino
  2. 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.

  1. Além disso, você pode fornecer uma expressão personalizada PARTITION BY <expr> para controlar o particionamento da tabela de destino do ClickHouse.

    PARTITION BY

Revise as permissões e inicie o ClickPipe

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

    Revisar permissões

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.

Navigation