Panoramica
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:
Dove: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
: numero di righe inseriten_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 alcuni 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 2: esegui
pg_dump
epg_restore
per le tabelle senza chiavi primarie. Per saperne di più, vedi Esportare i dati da un server PostgreSQL on-premise utilizzando pg_dump.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.