Esta página inclui scripts que ajudam na depuração e na utilização do AlloyDB.
Migre operações UPDATE e DELETE para tabelas de chaves não principais
Para tabelas que não têm chaves principais, o Database Migration Service suporta a migração da imagem instantânea inicial e das declarações INSERT durante a fase de captura de dados de alterações (CDC).
Para atualizar os processos UPDATE e DELETE em falta, consulte as secções posteriores deste documento.
Detete dados em falta entre a origem e o cluster de destino do AlloyDB
Identifique as tabelas que não têm chaves principais:
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 existem atualizações ou eliminações através desta consulta:
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');
Onde:
n_tup_ins: número de linhas inseridas
n_tup_upd: número de linhas atualizadas (inclui linhas atualizadas HOT)
n_tup_del: número de linhas eliminadas
Guarde estes resultados numa tabela separada ou num ficheiro.
Após a conclusão da configuração da migração, execute novamente a consulta.
Compare os resultados com os resultados do passo 3.
Se existirem diferenças nos valores de n_tup_upd ou n_tup_del na origem durante a migração, podem ocorrer algumas atualizações ou eliminações na origem.
Migre manualmente os dados da origem para as instâncias de destino do AlloyDB
Se detetar algumas discrepâncias entre a instância de origem e a de destino do AlloyDB, pode migrar os dados através de uma das seguintes 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 3: use o comando COPY do Postgres para migrar os seus dados. Consulte a documentação do PostgreSQL para mais informações. Tenha em atenção que este passo requer que a VM de réplica consiga estabelecer ligação à VM de origem.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-08-21 UTC."],[[["\u003cp\u003eThis page provides debugging scripts and guidance for using AlloyDB, particularly focusing on data migration from PostgreSQL.\u003c/p\u003e\n"],["\u003cp\u003eDatabase Migration Service supports the initial snapshot and \u003ccode\u003eINSERT\u003c/code\u003e statements for tables without primary keys during migration, but manual steps are needed for \u003ccode\u003eUPDATE\u003c/code\u003e and \u003ccode\u003eDELETE\u003c/code\u003e operations.\u003c/p\u003e\n"],["\u003cp\u003eYou can detect potential data discrepancies between the source and destination by identifying tables without primary keys and tracking \u003ccode\u003eINSERT\u003c/code\u003e, \u003ccode\u003eUPDATE\u003c/code\u003e, and \u003ccode\u003eDELETE\u003c/code\u003e activity using queries against \u003ccode\u003einformation_schema\u003c/code\u003e and \u003ccode\u003epg_stat_user_tables\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIf discrepancies are detected, manual migration options include comparing data and running SQL queries, utilizing \u003ccode\u003epg_dump\u003c/code\u003e and \u003ccode\u003epg_restore\u003c/code\u003e, or employing the Postgres \u003ccode\u003eCOPY\u003c/code\u003e command, which might require pre-migration data cleanup on the replica.\u003c/p\u003e\n"]]],[],null,[]]