Questa pagina include script che aiutano con il debug e l'utilizzo di AlloyDB.
Esegui la migrazione delle operazioni UPDATE ed DELETE per le tabelle con chiavi non primarie
Per le tabelle senza chiavi primarie, Database Migration Service supporta la migrazione dello snapshot iniziale e delle istruzioni INSERT durante la fase di acquisizione dei dati modificati (CDC).
Per aggiornare le procedure UPDATE e DELETE mancanti, consulta le sezioni successive di questo documento.
Rileva i dati mancanti tra l'origine e il cluster di destinazione AlloyDB
Identifica le tabelle che non hanno chiavi primarie:
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;
Prima di iniziare la migrazione, per tutte le tabelle senza chiavi primarie, controlla se sono presenti aggiornamenti o eliminazioni utilizzando questa query:
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');
Dove:
n_tup_ins: numero di righe inserite
n_tup_upd: numero di righe aggiornate (include le righe aggiornate delle schede HOT)
n_tup_del: numero di righe eliminate
Salva questi risultati in una tabella separata o in un file.
Al termine della configurazione della migrazione, esegui di nuovo la query.
Confronta i risultati con quelli del passaggio 3.
Se durante la migrazione si verificano differenze nei valori di n_tup_upd o n_tup_del nell'origine, potrebbero esserci aggiornamenti o eliminazioni nell'origine.
Esegui manualmente la migrazione dei dati dall'origine alle istanze di destinazione AlloyDB
Se rilevi alcune discrepanze tra l'istanza di origine e quella di destinazione AlloyDB, puoi eseguire la migrazione dei dati utilizzando una delle seguenti opzioni:
Opzione 1: confronta manualmente i dati tra l'origine e la destinazione AlloyDB ed esegui le query SQL appropriate per aggiornare solo i dati diversi tra l'origine e la replica.
Opzione 3: utilizza il comando COPY di Postgres per eseguire la migrazione dei dati. Per ulteriori informazioni, consulta la documentazione di PostgreSQL. Tieni presente che questo passaggio richiede che la VM replica possa connettersi alla VM di origine.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-18 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,[]]