Mettre à niveau la version majeure de la base de données en migrant les données

Cette page explique comment migrer vos données vers une instance exécutant une version plus récente de PostgreSQL. Avant de poursuivre cette méthode, envisagez de mettre à niveau la version majeure de la base de données dont vous disposez actuellement.

Deux options s'offrent à vous pour mettre à niveau la version majeure de la base de données de votre instance Cloud SQL pour PostgreSQL en migrant vos données.

  • Option 1. Utilisez Database Migration Service (DMS). DMS permet d'effectuer une migration depuis une instance Cloud SQL pour PostgreSQL. Vous pouvez également l'utiliser pour mettre à jour la version de votre base de données.
  • Option 2. Transférez vos données d'une version de PostgreSQL à une autre en exportant les données de l'instance actuelle et en les important dans une nouvelle instance exécutant la version ultérieure de PostgreSQL. Cette démarche implique un temps d'arrêt, car vous devez faire passer l'instance actuelle en mode lecture seule avant de lancer l'exportation.

La suite de cette page décrit la deuxième option.

Planifier une mise à niveau de version majeure

  1. Choisissez une version majeure cible.

    Consultez la liste des versions compatibles avec Cloud SQL.

  2. Examinez les fonctionnalités proposées dans chaque version de PostgreSQL et corrigez les incompatibilités.

    Les nouvelles versions majeures présentent des modifications incompatibles pouvant vous obliger à modifier le code de l'application, le schéma ou les paramètres de la base de données avant de pouvoir mettre à niveau votre instance de base de données. Consultez les notes de version de votre version majeure cible pour déterminer les incompatibilités que vous devez corriger. Si vous ignorez les versions majeures, corrigez les incompatibilités répertoriées pour chaque version que vous ignorez.

  3. Tester la mise à niveau avec une simulation

    Effectuer une simulation du processus de mise à niveau de bout en bout avec une instance de test avant de mettre à jour la base de données de production. Vous pouvez tester la mise à niveau à l'aide d'un clone au lieu de votre base de données de production afin d'éviter tout impact sur les performances de l'exportation de votre charge de travail de production.

    En plus de vérifier que la mise à niveau se termine correctement, exécutez des tests pour comprendre les temps d'arrêt attendus, confirmez votre workflow et assurez-vous que l'application se comporte comme prévu sur la base de données mise à niveau. Si vous n'avez pas activé l'augmentation automatique de l'espace de stockage, notez l'espace de stockage sur disque utilisé par l'instance de simulation mise à niveau pour déterminer si vous devez augmenter la capacité de stockage de l'instance avant de procéder à la mise à niveau.

  4. Décidez quand vous souhaitez effectuer la mise à niveau.

Transférer vos données

La migration implique l'utilisation de la commande pg_dump pour exporter les données à partir de l'instance source et la commande pg_restore pour importer les données dans l'instance cible.

Pour migrer vos données vers une instance Cloud SQL exécutant une version de base de données plus récente, procédez comme suit :

  1. Créez l'instance cible avec la version PostgreSQL souhaitée.

    Assurez-vous que l'instance cible dispose des éléments suivants :

    • Un espace de stockage suffisant pour accueillir toutes les données de l'instance actuelle.
    • Les mêmes réseaux autorisés que l'instance actuelle. En savoir plus
    • Les mêmes comptes utilisateur, avec les mêmes droits et mots de passe PostgreSQL

    Pour en savoir plus, consultez la page Créer une instance.

  2. Vérifiez que vous pouvez vous connecter à la nouvelle instance à l'aide de vos outils PostgreSQL locaux et mettez-les à jour si nécessaire.

  3. Exportez les données de l'instance actuelle vers un fichier de vidage PostgreSQL en suivant les instructions décrites à la page Exporter des données pour les importer dans Cloud SQL.

    N'exportez pas la base de données système postgres. La base de données postgres est la base de données par défaut à laquelle vous vous connectez avant de créer une autre base de données. Une fois que vous avez créé une autre base de données, utilisez-la pour créer des tables et insérer des données. N'utilisez pas la base de données postgres pour les données de votre application.

  4. Créez un bucket Cloud Storage si nécessaire et importez-y le fichier de vidage SQL.

  5. Importez les données dans l'instance cible en suivant les instructions décrites à la page Importer des bases de données PostgreSQL depuis Cloud Storage.

  6. Facultatif. Une fois le processus de mise à niveau terminé, configurez la réplication entre les instances source et cible à l'aide de pglogical afin de mettre à jour la cible avec toutes les modifications survenues depuis le démarrage du vidage initial. Une fois les deux instances synchronisées, vous pouvez promouvoir l'instance cible.

    Pour en savoir plus sur l'utilisation de pglogical pour mettre en œuvre la réplication continue, consultez la page Configurer votre source.

  7. Mettez à jour vos applications pour qu'elles se connectent à la nouvelle instance.

  8. Une fois que vous êtes certain que la nouvelle instance fonctionne correctement, supprimez l'ancienne.

Étape suivante