Visão geral
Esta página inclui scripts que ajudam na depuração e no uso do AlloyDB.
Migrar operações UPDATE e DELETE para tabelas de chaves não primárias
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 a origem e o cluster de destino do AlloyDB
- 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, verifique se há atualizações ou exclusões em todas as tabelas sem chaves primárias usando esta consulta:
Onde: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
: o número de linhas inseridasn_tup_upd
: número de linhas atualizadas (incluindo linhas atualizadas do HOT)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, talvez haja algumas atualizações ou exclusões na origem.
Migrar dados manualmente da origem para as instâncias de destino do AlloyDB
Se você detectar algumas discrepâncias entre a origem e a instância de destino do AlloyDB, poderá migrar os dados usando uma destas opções:
Opção 1: compare manualmente os dados entre a origem e o destino do AlloyDB e execute as consultas SQL adequadas para atualizar apenas os dados que são diferentes entre a origem e a réplica.
Opção 2: execute
pg_dump
epg_restore
nas 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
COPY
do Postgres para migrar seus dados. Consulte a documentação do PostgreSQL para mais informações. Essa etapa exige que a VM de réplica possa se conectar à VM de origem.