Verificar uma migração

Nesta página, descrevemos como confirmar se os dados migrados estão completos e precisos. No mínimo, verifique se os bancos de dados e as tabelas existem no cluster migrado do AlloyDB para PostgreSQL.

  1. Conecte-se ao cluster do AlloyDB para PostgreSQL com um cliente ou uma ferramenta de consulta em que seja possível executar comandos SQL nos bancos de dados migrados (por exemplo, o AlloyDB Studio no console do Google Cloud ou psql).

    Para mais informações sobre como se conectar a clusters e instâncias do AlloyDB para PostgreSQL, consulte Visão geral da conexão do AlloyDB para PostgreSQL.

  2. Execute consultas SQL ANSI independentes de cliente para verificar os dados migrados:

    Listar todos os bancos de dados

    Execute a consulta a seguir para verificar se o cluster de destino do AlloyDB para PostgreSQL contém todos os bancos de dados de origem que você migrou:

    SELECT datname FROM pg_database
    WHERE datistemplate = false;

    Listar todas as tabelas em um banco de dados

    Execute a consulta a seguir para listar todas as tabelas de usuário no banco de dados:

    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;

    Verificar as definições de coluna e os tipos de dados da tabela

    Execute a consulta a seguir para verificar os nomes das colunas, os tipos de dados e a nulidade de uma tabela específica:

    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;

    Verificar as contagens de linhas da tabela e os dados de amostra

    Execute as consultas a seguir para verificar as contagens de linhas e inspecionar linhas de amostra em uma tabela específica:

    1. Verifique o número total de linhas:
      SELECT COUNT(*) FROM TABLE_NAME;
    2. Confira uma amostra dos registros migrados:
      SELECT * FROM TABLE_NAME LIMIT 10;

    Verificar chaves primárias e restrições

    Execute a consulta a seguir para verificar se as chaves primárias, as chaves externas e as restrições exclusivas foram criadas corretamente:

    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;

    Verificar índices

    Execute a consulta a seguir para verificar se os índices foram criados nas tabelas migradas:

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

    Verificar sequências

    Execute a consulta a seguir para verificar se as sequências existem no banco de dados migrado:

    SELECT
      sequence_schema,
      sequence_name,
      data_type
    FROM information_schema.sequences
    ORDER BY sequence_schema, sequence_name;
  3. Compare os resultados dessas consultas com o banco de dados de origem para garantir que todos os objetos, contagens de linhas e estruturas de esquema correspondam.

Para tabelas grandes em que a execução de consultas COUNT(*) pode exigir muitos recursos, use a Ferramenta de validação de dados (DVT, na sigla em inglês) de código aberto. Ele fornece um método automatizado e repetível para realizar validações personalizadas em diferentes ambientes.

Se tudo estiver como esperado, o Database Migration Service migrou os dados corretamente.