驗證遷移作業

本頁面說明如何確認遷移的資料完整且正確。至少應確認資料表存在於遷移的 Cloud SQL 資料庫執行個體中。

  1. 使用可對遷移資料庫執行 SQL 指令的工具,連線至 Cloud SQL 執行個體 (例如 Google Cloud 控制台中的 Cloud SQL Studio 或 psql)。

    如要進一步瞭解如何連線至 Cloud SQL 執行個體,請參閱 Cloud SQL 說明文件中的「 連線選項」。

  2. 執行 SQL 查詢,驗證遷移的資料:

    列出所有資料庫

    執行下列查詢,確認目的地 Cloud SQL 執行個體包含您遷移的所有來源資料庫:

    SELECT datname FROM pg_database
    WHERE datistemplate = false;

    列出資料庫中的所有資料表

    執行下列查詢,列出資料庫中的所有使用者資料表:

    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;

    檢查資料表資料欄定義和資料類型

    執行下列查詢,驗證特定資料表的資料欄名稱、資料類型和是否可為空值:

    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;

    查看資料表列數和樣本資料

    執行下列查詢,驗證資料列數量,並檢查特定資料表中的範例資料列:

    1. 驗證資料列總數:
      SELECT COUNT(*) FROM TABLE_NAME;
    2. 查看遷移記錄範例:
      SELECT * FROM TABLE_NAME LIMIT 10;

    驗證主鍵和限制

    執行下列查詢,確認主鍵、外鍵和不重複限制已正確建立:

    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;

    驗證索引

    執行下列查詢,確認已在遷移的資料表建立索引:

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

    驗證序列

    執行下列查詢,確認已遷移的資料庫中是否存在序列:

    SELECT
      sequence_schema,
      sequence_name,
      data_type
    FROM information_schema.sequences
    ORDER BY sequence_schema, sequence_name;
  3. 將這些查詢的結果與來源資料庫進行比較,確保所有物件、資料列數量和結構定義結構都相符。

如果檢查結果符合預期,代表資料庫遷移服務已正確遷移資料。