Pré-requisitos
- Acesso ao seu banco de dados PostgreSQL de origem com um usuário que tenha privilégios de replicação. Siga o guia de configuração correspondente à sua origem:
- Amazon RDS Postgres
- Amazon Aurora Postgres
- Supabase Postgres
- Google Cloud SQL Postgres
- Azure Flexible Server for Postgres
- Neon Postgres
- Crunchy Bridge Postgres
- TimescaleDB
- Origem genérica do Postgres para qualquer outro provedor ou instância auto-hospedada
- Um serviço ClickHouse Managed Postgres como destino da migração. Se você ainda não tiver um, consulte o guia de início rápido.
pg_dumpepsqlinstalados na sua máquina local. Ambos vêm com as ferramentas padrão do cliente PostgreSQL.
Considerações antes da migração
- Propagação de DDL: a replicação contínua (CDC) captura operações de DML e
ADD COLUMN. Outras alterações de DDL, comoDROP COLUMNeALTER COLUMN, não são propagadas e devem ser aplicadas manualmente no banco de destino.
Se você encontrar problemas durante a migração, consulte o FAQ de Migrações do Managed Postgres para ver os erros e as soluções mais comuns.
Etapa 1: Conecte-se ao seu banco de dados de origem
Abra o console do ClickHouse Cloud e selecione seu serviço Managed Postgres. Na barra lateral esquerda, clique em Fontes de dados. Clique em Iniciar importação. Preencha os detalhes da conexão com seu banco de dados PostgreSQL de origem: host, porta, nome de usuário, senha e nome do banco de dados. Ative TLS se a origem exigir. Se você precisar de uma conexão privada com seu banco de dados de origem, poderá optar por tunelamento SSH e fornecer os detalhes de SSH necessários. Isso permite que a migração se conecte com segurança a bancos de dados que não estão acessíveis publicamente. Escolha um método de ingestão:- Carga inicial + CDC — copia os dados existentes e depois mantém o destino sincronizado com as alterações em andamento.
- Somente carga inicial — cópia única, sem replicação contínua.
- Somente CDC — pula a cópia inicial e replica apenas as novas alterações a partir deste ponto.
Migração automatizada de esquema
Ao escolher essa opção, o ClickPipe extrairá automaticamente o esquema do seu banco de dados de origem e o aplicará ao serviço Managed Postgres durante a fase de Setup do ClickPipe, após sua criação. Esse recurso pressupõe um banco de dados de destino vazio, pois extrai todos os objetos do banco de dados de origem, independentemente das tabelas que você selecionar posteriormente no assistente. Se já houver dados no banco de dados de destino ou se você quiser uma configuração mais personalizada, deverá optar pelo modo Manual. Selecione o banco de dados de destino no menu suspenso ou clique em Criar um novo banco de dados para provisionar um.Monitoramento
Você pode acompanhar o andamento da migração de esquema na visualização de detalhes do ClickPipes. Os Logs indicarão o status da migração de esquema, e quaisquer erros encontrados também serão exibidos ali. Este modo tem as seguintes limitações:- Pipes que usam tunelamento SSH não podem usar a migração automatizada de esquema. O esquema deve ser exportado e importado manualmente.
Migração manual de esquema
Caso você já tenha dados no banco de dados de destino ou queira uma configuração mais personalizada, em vez do ambiente limpo exigido pelo modo automatizado, selecione o modo Manual.Exporte o esquema do seu banco de dados
O assistente exibe um comandopg_dump preenchido previamente com os detalhes da conexão de origem. Execute-o em um terminal:
pg.sql no diretório atual.
Clique em Próximo.
Importe o esquema para seu serviço Managed Postgres
Selecione o banco de dados de destino na lista suspensa ou clique em Criar um novo banco de dados para provisionar um. O assistente exibe um comandopsql para aplicar o dump do esquema ao seu serviço Managed Postgres. Execute-o em um terminal:
Etapa 4: Definir as configurações de ingestão
Especifique a publication a ser usada para a replicação lógica. Se você deixar esse campo em branco, uma publication será criada automaticamente. Expanda Configurações avançadas de replicação para ajustar a taxa de transferência:
Clique em Próximo.
Etapa 5: Selecione as tabelas
Monitore a migração
Após criar a migração, ela aparecerá listada em Fontes de dados com o status Em execução. Clique na migração para abrir a tela de detalhes. A aba Tabelas mostra o progresso da carga inicial de cada tabela, incluindo linhas processadas, partições e o tempo médio por partição. A aba Métricas mostra a defasagem da replicação e a taxa de transferência quando o CDC começar.Transição de tráfego
Quando a carga inicial estiver concluída e, no caso de uso de CDC, a defasagem de replicação estiver próxima de zero, você pode fazer a transição do tráfego do seu banco de dados Postgres de origem para o seu serviço Managed Postgres. Abra a visualização de detalhes da migração e selecione a aba pós-migração steps. Esse assistente guiado conduz você pelas seis etapas necessárias para concluir a migração com segurança. Cada etapa deve ser concluída na ordem antes que você possa avançar para a próxima.Etapa 1: Colocar o banco de dados Postgres de origem em modo somente leitura
Interrompa as gravações da aplicação na origem para que nada fique divergente durante a transição. O assistente exibe um comandoALTER DATABASE já preenchido com o nome do banco de dados de origem — execute-o no seu banco de dados de origem:
Dependendo do seu provider de Postgres, esta etapa pode ser diferente. Managed services podem restringir
ALTER DATABASE ou o encerramento de backends e, em vez disso, expor o modo somente leitura pelo próprio console, por parameter groups ou pela revogação de privileges de escrita. Consulte a documentação do seu provider para saber a forma equivalente de tornar a origem somente leitura.Passo 2: Validar contagens de linhas
Selecione quais tabelas replicadas você deseja validar. O ClickPipes conta as linhas de cada tabela selecionada tanto na origem quanto no destino e compara os resultados. Tabelas grandes podem retornar contagens aproximadas. Use Select all tables para validar todas as tabelas ou pesquise e ative tabelas específicas e, em seguida, clique em Count rows.Passo 3: pausar o pipe
Pause o ClickPipe para que a replicação seja interrompida antes de redefinir as sequências e fazer a transição do tráfego. Clique em Pause ClickPipe e aguarde até que o pipe seja pausado antes de continuar.Passo 4: Redefinir sequências
Redefina as sequências no destino para que as novas inserções continuem a partir dos valores corretos. Clique em Reset sequences para alinhar cada sequência com o valor máximo atual de sua tabela.Etapa 5: Faça a transição do tráfego
Aponte as leituras e gravações para o seu serviço Managed Postgres atualizando a URL do banco de dados da sua aplicação para a connection string do Managed Postgres. O assistente fornece os connection details em vários formatos — url, psql, env, yaml e jdbc — para que você copie aquele que corresponde ao seu stack. Depois de atualizar a aplicação, clique em Mark as completed.Passo 6: Limpeza
Depois de fazer a transição e confirmar que o novo service está saudável, exclua a migration e libere os recursos da origem. O assistente exibe um comandopg_drop_replication_slot já preenchido com o nome do slot — execute-o na origem para remover o slot de replicação: