Verifica di una migrazione

In questa pagina viene descritto come verificare che i dati di cui è stata eseguita la migrazione siano completi e accurati. Come minimo, devi verificare che i database e le tabelle esistano nel cluster AlloyDB per PostgreSQL di cui è stata eseguita la migrazione.

  1. Connettiti al tuo cluster AlloyDB per PostgreSQL con un client o uno strumento di query in cui puoi eseguire comandi SQL sui database di cui è stata eseguita la migrazione (ad esempio AlloyDB Studio nella console Google Cloud o psql).

    Per saperne di più sulla connessione a cluster e istanze AlloyDB per PostgreSQL, consulta la panoramica della connessione ad AlloyDB per PostgreSQL.

  2. Esegui query SQL indipendenti dal client per verificare i dati di cui è stata eseguita la migrazione:

    Elenca tutti i database

    Esegui questa query per verificare che il cluster AlloyDB per PostgreSQL di destinazione contenga tutti i database di origine di cui hai eseguito la migrazione:

    SELECT datname FROM pg_database
    WHERE datistemplate = false;

    Elenca tutte le tabelle di un database

    Esegui questa query per elencare tutte le tabelle utente nel database:

    SELECT table_schema, table_name
    FROM information_schema.tables
    WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
      AND table_type = 'BASE TABLE'
    ORDER BY table_schema, table_name;

    Controlla le definizioni delle colonne della tabella e i tipi di dati

    Esegui questa query per verificare i nomi delle colonne, i tipi di dati e la possibilità di valori nulli per una tabella specifica:

    SELECT
      column_name,
      data_type,
      character_maximum_length,
      is_nullable,
      column_default
    FROM information_schema.columns
    WHERE table_name = 'TABLE_NAME'
    ORDER BY ordinal_position;

    Controlla i conteggi delle righe della tabella e i dati campionati

    Esegui le seguenti query per verificare i conteggi delle righe e ispezionare le righe di esempio in una tabella specifica:

    1. Verifica il numero totale di righe:
      SELECT COUNT(*) FROM TABLE_NAME;
    2. Visualizza un esempio di record di cui è stata eseguita la migrazione:
      SELECT * FROM TABLE_NAME LIMIT 10;

    Verifica le chiavi primarie e i vincoli

    Esegui questa query per verificare che le chiavi primarie, le chiavi esterne e i vincoli univoci siano stati creati correttamente:

    SELECT
      table_schema,
      table_name,
      constraint_name,
      constraint_type
    FROM information_schema.table_constraints
    WHERE table_schema NOT IN ('pg_catalog', 'information_schema')
    ORDER BY table_schema, table_name, constraint_type;

    Verifica gli indici

    Esegui questa query per verificare che gli indici siano stati creati nelle tabelle migrate:

    SELECT
      schemaname,
      tablename,
      indexname,
      indexdef
    FROM pg_indexes
    WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
    ORDER BY schemaname, tablename, indexname;

    Verifica le sequenze

    Esegui questa query per verificare che le sequenze esistano nel database di cui è stata eseguita la migrazione:

    SELECT
      sequence_schema,
      sequence_name,
      data_type
    FROM information_schema.sequences
    ORDER BY sequence_schema, sequence_name;
  3. Confronta i risultati di queste query con il database di origine per assicurarti che tutti gli oggetti, i conteggi delle righe e le strutture degli schemi corrispondano.

Per le tabelle di grandi dimensioni in cui l'esecuzione di query COUNT(*) potrebbe richiedere un utilizzo intensivo delle risorse, valuta la possibilità di utilizzare lo strumento open source Data Validation Tool (DVT). Fornisce un metodo automatizzato e ripetibile per eseguire convalide personalizzate in ambienti diversi.

Se tutto ciò che controlli è come previsto, Database Migration Service ha eseguito la migrazione dei dati correttamente.