Esta página inclui scripts que ajudam na depuração e na utilização do PostgreSQL.
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.
Detetar dados em falta entre as instâncias de origem e de destino do Cloud SQL
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 Cloud SQL
Se detetar algumas discrepâncias entre a origem e a instância de destino do Cloud SQL, 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 Cloud SQL 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 PostgreSQL within the Database Migration Service.\u003c/p\u003e\n"],["\u003cp\u003eDatabase Migration Service supports the migration of initial snapshots and \u003ccode\u003eINSERT\u003c/code\u003e statements for tables without primary keys, but \u003ccode\u003eUPDATE\u003c/code\u003e and \u003ccode\u003eDELETE\u003c/code\u003e operations may need manual intervention.\u003c/p\u003e\n"],["\u003cp\u003eYou can identify tables lacking primary keys and check for any updates or deletes on the source during migration using the provided SQL queries against the \u003ccode\u003einformation_schema\u003c/code\u003e and \u003ccode\u003epg_stat_user_tables\u003c/code\u003e tables.\u003c/p\u003e\n"],["\u003cp\u003eIf data discrepancies are found between the source and the Cloud SQL destination instance, you can manually resolve them by comparing and updating data, or by utilizing \u003ccode\u003epg_dump\u003c/code\u003e/\u003ccode\u003epg_restore\u003c/code\u003e or the \u003ccode\u003eCOPY\u003c/code\u003e command for the affected tables.\u003c/p\u003e\n"],["\u003cp\u003eIt is important to potentially clean the replica before using \u003ccode\u003epg_restore\u003c/code\u003e or \u003ccode\u003eCOPY\u003c/code\u003e commands if there is data that was previously migrated.\u003c/p\u003e\n"]]],[],null,[]]