Valider une migration

Cette page explique comment vérifier que les données migrées sont complètes et exactes. Vous devez au minimum vérifier que vos bases de données et vos tables existent dans le cluster AlloyDB pour PostgreSQL migré.

  1. Connectez-vous à votre cluster AlloyDB pour PostgreSQL à l'aide d'un client ou d'un éditeur de requêtes permettant d'exécuter des commandes SQL sur vos bases de données migrées (par exemple, AlloyDB Studio dans la console Google Cloud ou psql).

    Pour en savoir plus sur la connexion aux clusters et instances AlloyDB pour PostgreSQL, consultez Présentation de la connexion à AlloyDB pour PostgreSQL.

  2. Exécutez des requêtes SQL ANSI indépendantes du client pour vérifier vos données migrées :

    Lister toutes les bases de données

    Exécutez la requête suivante pour vérifier que votre cluster AlloyDB pour PostgreSQL de destination contient toutes les bases de données sources que vous avez migrées :

    SELECT datname FROM pg_database
    WHERE datistemplate = false;

    Lister toutes les tables d'une base de données

    Exécutez la requête suivante pour lister toutes les tables utilisateur de votre base de données :

    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;

    Vérifier les définitions des colonnes de la table et les types de données

    Exécutez la requête suivante pour vérifier les noms de colonnes, les types de données et la possibilité de valeur nulle pour une table spécifique :

    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;

    Vérifier le nombre de lignes de la table et les exemples de données

    Exécutez les requêtes suivantes pour vérifier le nombre de lignes et inspecter des exemples de lignes dans une table spécifique :

    1. Vérifiez le nombre total de lignes :
      SELECT COUNT(*) FROM TABLE_NAME;
    2. Affichez un échantillon des enregistrements migrés :
      SELECT * FROM TABLE_NAME LIMIT 10;

    Vérifier les clés primaires et les contraintes

    Exécutez la requête suivante pour vérifier que les clés primaires, les clés étrangères et les contraintes uniques ont été créées correctement :

    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;

    Vérifier les index

    Exécutez la requête suivante pour vérifier que des index ont été créés sur vos tables migrées :

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

    Vérifier les séquences

    Exécutez la requête suivante pour vérifier que des séquences existent dans votre base de données migrée :

    SELECT
      sequence_schema,
      sequence_name,
      data_type
    FROM information_schema.sequences
    ORDER BY sequence_schema, sequence_name;
  3. Comparez les résultats de ces requêtes avec votre base de données source pour vous assurer que tous les objets, le nombre de lignes et les structures de schéma correspondent.

Pour les tables volumineuses où l'exécution de requêtes COUNT(*) peut consommer beaucoup de ressources, envisagez d'utiliser l' outil de validation des données (DVT) Open Source. Il fournit une méthode automatisée et reproductible pour effectuer des validations personnalisées dans différents environnements.

Si tout ce que vous vérifiez est conforme à vos attentes, cela signifie que Database Migration Service a migré les données correctement.