Visão geral
Esta página inclui scripts que ajudam na depuração e no uso do PostgreSQL.
Migrar operações UPDATE e DELETE para tabelas sem chave primária
Para tabelas sem chaves primárias, o Database Migration Service oferece suporte à migração de snapshots iniciais e instruções INSERT durante a fase de captura de dados alterados (CDC).
Para atualizar os processos UPDATE e DELETE ausentes, consulte as seções posteriores deste documento.
Detectar dados ausentes entre as instâncias de origem e de destino do Cloud SQL
- Identifique quais tabelas não têm chaves primárias:
select tab.table_schema, tab.table_name from information_schema.tables tab left join information_schema.table_constraints tco on tab.table_schema = tco.table_schema and tab.table_name = tco.table_name and tco.constraint_type = 'PRIMARY KEY' where tab.table_type = 'BASE TABLE' and tab.table_schema not in ('pg_catalog', 'information_schema', 'pglogical') and tco.constraint_name is null order by table_schema, table_name; - Antes de iniciar a migração, para todas as tabelas sem chaves primárias, verifique se há atualizações ou exclusões usando esta consulta:
Em que:SELECT schemaname, relname, n_tup_ins, n_tup_upd, n_tup_del FROM pg_stat_user_tables WHERE schemaname NOT IN ('pglogical', 'pg_catalog', 'information_schema');n_tup_ins: número de linhas inseridasn_tup_upd: número de linhas atualizadas (inclui linhas atualizadas a quente)n_tup_del: número de linhas excluídas
- Salve esses resultados em uma tabela separada ou em um arquivo.
- Depois que a configuração da migração for concluída, execute a consulta novamente.
- Compare os resultados com os da etapa 3.
Se houver diferenças nos valores de n_tup_upd ou n_tup_del na origem durante a migração, pode haver algumas atualizações ou exclusões na origem.
Migrar dados manualmente da origem para as instâncias de destino do Cloud SQL
Se você detectar algumas discrepâncias entre a origem e a instância de destino do Cloud SQL, poderá migrar os dados usando uma das opções:
Opção 1: compare manualmente os dados entre a origem e o destino do Cloud SQL e execute consultas SQL apropriadas para atualizar apenas os dados diferentes entre a origem e a réplica.
Opção 2: execute
pg_dumpepg_restorepara as tabelas sem chaves primárias. Consulte Exportar dados de um servidor PostgreSQL local usando pg_dump para mais informações.Opção 3: use o comando
COPYdo Postgres para migrar seus dados. Consulte a documentação do PostgreSQL para mais informações. Essa etapa exige que a VM da réplica possa se conectar à VM de origem.