Pular para o conteúdo principal
Este guia fornece instruções passo a passo sobre como migrar seu banco de dados PostgreSQL para o ClickHouse Managed Postgres usando os utilitários pg_dump e pg_restore.

Pré-requisitos

  • Acesso ao seu banco de dados PostgreSQL de origem.
  • pg_dump e pg_restore instalados na máquina local. Eles normalmente são incluídos nas instalações do PostgreSQL. Caso contrário, você pode baixá-los no site oficial do PostgreSQL.

A configuração

Para seguir as etapas, vamos usar como exemplo um banco de dados Postgres no RDS como banco de dados de origem. Algo assim: Eis o ambiente com que vamos trabalhar:
  • Duas tabelas — events e users. events tem um milhão de linhas, e users tem mil linhas.
  • events tem um índice.
  • Uma view sobre a tabela events.
  • Duas sequências

Crie um dump do banco de dados de origem

Agora vamos usar pg_dump para gerar um arquivo de dump com os objetos acima. É um comando simples:
pg_dump \
  -d 'postgresql://<user>:<password>@<host>:<port>/<database>' \
  --format directory \
  -f rds-dump
Aqui:
  • Substitua <user>, <password>, <host>, <port> e <database> pelas credenciais do seu banco de dados de origem. A maioria dos provedores de Postgres fornece uma string de conexão que você pode usar diretamente.
  • --format directory especifica que queremos o dump no formato de diretório, que é adequado para o pg_restore.
  • -f rds-dump especifica o diretório de saída dos arquivos de dump. Observe que esse diretório será criado automaticamente e não deve existir previamente.
  • Você também pode paralelizar o processo de dump adicionando a flag --jobs, seguida do número de jobs paralelos que deseja executar. Para mais detalhes, consulte a documentação do pg_dump.
Você pode testar esse processo uma vez para ter uma noção de quanto tempo ele leva e do tamanho do dump.
Veja como é a execução desse comando:

Migre o dump para o ClickHouse Managed Postgres

Agora que temos o arquivo de dump, podemos restaurá-lo na nossa instância do ClickHouse Managed Postgres usando pg_restore.

Crie uma instância do Managed Postgres

Primeiro, certifique-se de ter uma instância do Managed Postgres pronta, de preferência na mesma região da instância de origem. Você pode seguir o guia rápido aqui. Veja o que vamos provisionar neste guia:

Restaurar o dump

Agora, de volta à nossa máquina local, podemos usar o comando pg_restore para restaurar o dump em nossa instância do Managed Postgres:
pg_restore \
  -d 'postgresql://<user>:<password>@<pg_clickhouse_host>:5432/<database>' \
  --verbose \
  rds-dump
Você pode obter a string de conexão da sua instância do Managed Postgres no console do ClickHouse Cloud, conforme explicado de forma bem simples aqui. Aqui também há algumas flags que vale a pena observar:
  • --verbose fornece uma saída detalhada durante o processo de restore.
  • Você também pode usar a flag --jobs aqui para paralelizar o processo de restore. Para mais detalhes, consulte a documentação do pg_restore.
No nosso caso, fica assim:

Verifique a migração

Quando o processo de restauração for concluído, você poderá se conectar à sua instância do Managed Postgres e verificar se todos os seus dados e objetos foram migrados com sucesso. Você pode usar qualquer cliente PostgreSQL para se conectar e executar consultas. Veja como fica nossa configuração do Managed Postgres após a migração: Vemos que todas as nossas tabelas, índices, views e sequências estão intactos, e que as contagens de dados correspondem.

Considerações

  • Certifique-se de que as versões do PostgreSQL dos bancos de dados de origem e de destino sejam compatíveis. Usar uma versão do pg_dump mais antiga que a do servidor de origem pode causar ausência de recursos ou problemas na restauração. O ideal é usar a mesma versão principal do pg_dump da origem ou uma versão mais recente.
  • Bancos de dados grandes podem levar bastante tempo para gerar o dump e restaurar. Planeje-se adequadamente para minimizar a indisponibilidade e considere usar dumps/restaurações em paralelo (--jobs) quando houver suporte.
  • Observe que pg_dump / pg_restore não replicam todos os objetos relacionados ao banco de dados nem todo o estado de runtime. Isso inclui roles e associações de roles, slots de replicação, configuração no nível do servidor (por exemplo, postgresql.conf, pg_hba.conf), tablespaces e estatísticas de runtime.

Próximas etapas

Parabéns! Você migrou com sucesso seu banco de dados PostgreSQL para o ClickHouse Managed Postgres usando pg_dump e pg_restore. Agora você já pode explorar os recursos do Managed Postgres e a integração com o ClickHouse. Aqui está um guia de início rápido de 10 minutos para ajudar você a começar:
Última modificação em 10 de junho de 2026