Mises à niveau du moteur de base de données RDS pour PostgreSQL - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Mises à niveau du moteur de base de données RDS pour PostgreSQL

Il existe deux types de mises à niveau que vous pouvez gérer pour votre base de données PostgreSQL :

  • Mises à jour du système d'exploitation : il peut arriver qu'Amazon RDS doive mettre à jour le système d'exploitation sous-jacent de votre base de données afin d'appliquer des correctifs de sécurité ou des modifications du système d'exploitation. Vous pouvez décider quand Amazon RDS applique les mises à jour du système d'exploitation à l'aide de la console RDS, AWS Command Line Interface (AWS CLI) ou de l'API RDS. Pour plus d'informations sur les mises à jour de SE, consultez Appliquer des mises à jour à un d'instances de base de données.

  • Mises à niveau du moteur de base de données : quand Amazon RDS prend en charge une nouvelle version d'un moteur de base de données, vous pouvez mettre à niveau vos bases de données vers cette nouvelle version.

Une base de données dans ce contexte est une instance de base de données RDS for PostgreSQL ou un cluster de bases de données multi-AZ.

Il existe deux types de mises à niveau du moteur pour les bases de données PostgreSQL : les mises à niveau des versions majeures et les mises à niveau des versions mineures.

Mises à niveau de version majeure.

Les mises à niveau de version majeure peuvent contenir des modifications de base de données qui ne sont pas rétrocompatibles avec les applications existantes. Par conséquent, vous devez effectuer manuellement les mises à niveau de version majeure de vos bases de données. Vous pouvez lancer une mise à niveau de version majeure en modifiant votre instance de base de données ou votre cluster de bases de données multi-AZ. Avant d'effectuer une mise à niveau de version majeure, nous vous recommandons de suivre les étapes décrites dans Choix d'une version majeure pour une mise à niveau de RDS pour PostgreSQL.

Amazon RDS gère les mises à niveau des versions majeures multi-AZ de la manière suivante :

  • Déploiement d'instances de base de données multi-AZ : Amazon RDS met à niveau simultanément l'instance principale et toutes les instances de secours. Il se peut que votre base de données ne soit pas disponible pendant plusieurs minutes, le temps que la mise à niveau soit terminée.

  • Déploiement de clusters de bases de données multi-AZ : Amazon RDS met à niveau simultanément les instances de lecteur et d'enregistreur. Il se peut que votre base de données ne soit pas disponible pendant plusieurs minutes, le temps que la mise à niveau soit terminée.

Si vous mettez à niveau une instance de base de données qui possède des répliques de lecture locales, Amazon RDS met à niveau les répliques en même temps que l'instance de base de données principale.

Amazon RDS ne met pas à niveau les réplicas en lecture d'un cluster de bases de données multi-AZ. Si vous effectuez une mise à niveau de version majeure d'un cluster de base de données multi-AZ, l'état de réplication de ses répliques de lecture devient terminé. Vous devez supprimer et recréer manuellement les réplicas en lecture une fois la mise à niveau terminée.

Astuce

Vous pouvez minimiser le temps d'arrêt requis pour une mise à niveau de version majeure en utilisant un déploiement bleu/vert. Pour de plus amples informations, veuillez consulter Utilisation des déploiements RDSAmazon Blue/Green pour les mises à jour de bases de données.

Mises à niveau de version mineure.

En revanche, une mise à niveau de version mineure contient uniquement des modifications rétrocompatibles avec les applications existantes. Vous pouvez lancer manuellement une mise à niveau de version mineure en modifiant votre base de données. Vous pouvez également activer l'option de mise à niveau automatique des versions mineures lorsque vous créez ou modifiez une base de données. Cela signifie qu'Amazon RDS met automatiquement à niveau votre base de données après avoir testé et approuvé la nouvelle version.

Amazon RDS gère les mises à niveau des versions mineures multi-AZ de la manière suivante :

  • Déploiement d'instances de base de données multi-AZ : Amazon RDS met à niveau simultanément l'instance principale et toutes les instances de secours. Il se peut que votre base de données ne soit pas disponible pendant plusieurs minutes, le temps que la mise à niveau soit terminée.

  • Déploiement de clusters de bases de données multi-AZ : Amazon RDS met à niveau les instances de base de données du lecteur une par une. Ensuite, l'une des instances de base de données du lecteur devient la nouvelle instance de base de données du rédacteur. Amazon RDS met ensuite à niveau l'ancienne instance d'écriture (qui est désormais une instance de lecteur). Les clusters de bases de données multi-AZ réduisent généralement le temps d'arrêt des mises à niveau de versions mineures à environ 35 secondes. Lorsqu'ils sont utilisés avec le proxy RDS, ils peuvent encore réduire les temps d'arrêt à une seconde ou moins. Pour de plus amples informations, veuillez consulter RDSProxy Amazon . Vous pouvez également utiliser un proxy de base de données open source tel que ProxySQL ou le pilote AWS Advanced JDBC Wrapper. PgBouncer

Si votre base de données possède des répliques en lecture, vous devez d'abord mettre à niveau toutes les répliques en lecture avant de mettre à niveau l'instance ou le cluster source.

Pour de plus amples informations, veuillez consulter Mises à niveau automatiques des versions mineures RDS pour Postgre SQL. Pour de plus amples informations sur l'exécution manuelle d'une mise à niveau de version mineure, veuillez consulter Mise à niveau manuelle de la version du moteur.

Pour plus d'informations sur les versions du moteur de base de données et la politique de dépréciation des versions du moteur de base de données, consultez la section Versions du moteur de base de données sur Amazon RDS. FAQs

Considérations relatives aux mises à niveau de PostgreSQL

Pour mettre à niveau vos bases de données en toute sécurité, Amazon RDS utilise l'pg_upgradeutilitaire décrit dans la documentation PostgreSQL

Si votre période de rétention des sauvegardes est supérieure à 0, Amazon RDS crée deux instantanés de base de données pendant la mise à niveau. Le premier instantané de base de données porte sur la base de données avant que toute modification de mise à niveau soit apportée. Si la mise à niveau échoue pour vos bases de données, vous pouvez restaurer cet instantané afin de créer une base de données exécutant l'ancienne version. Le second instantané de base de données est pris à la fin de la mise à niveau.

Note

Amazon RDS ne prend des instantanés de base de données pendant le processus de mise à niveau que si vous avez défini la période de conservation des sauvegardes de votre base de données sur un nombre supérieur à 0. Pour modifier la période de conservation des sauvegardes pour une instance de base de données, consultez Modification d'une RDS instance de base de données Amazon. Vous ne pouvez pas configurer une période de conservation personnalisée des sauvegardes pour un cluster de bases de données multi-AZ.

Quand vous effectuez une mise à niveau de version majeure d'une instance de base de donnée, tous les réplicas en lecture dans la région sont également automatiquement mis à niveau. Une fois que le flux de mise à niveau a démarré, les réplicas en lecture attendent que pg_upgrade se termine correctement sur l'instance de base de données principale. Ensuite, la mise à niveau de l'instance de base de données principale attend que les mises à niveau du réplica en lecture se terminent. Vous faites face à une panne tant que la mise à niveau n'est pas terminée. Quand vous effectuez une mise à niveau de version majeure d'un cluster de bases de données multi-AZ, l'état de réplication de ses réplicas en lecture devient résilié.

Une fois qu'une mise à niveau est terminée, vous ne pouvez pas rétablir la version précédente du moteur de base de données. Si vous souhaitez revenir à la version précédente, restaurez l'instantané de base de données pris avant la mise à niveau pour créer une nouvelle base de données.

Trouver des cibles de mise à niveau valides

Lorsque vous utilisez le AWS Management Console pour mettre à niveau une base de données, il indique les cibles de mise à niveau valides pour la base de données. Vous pouvez également utiliser la AWS CLI commande suivante pour identifier les cibles de mise à niveau valides pour une base de données :

Dans Linux, macOS, ou Unix:

aws rds describe-db-engine-versions \ --engine postgres \ --engine-version version-number \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Dans Windows:

aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Par exemple, pour identifier les cibles de mise à niveau valides pour une base de données PostgreSQL version 16.1, exécutez la commande suivante : AWS CLI

Dans Linux, macOS, ou Unix:

aws rds describe-db-engine-versions \ --engine postgres \ --engine-version 16.1 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Dans Windows:

aws rds describe-db-engine-versions ^ --engine postgres ^ --engine-version 16.1 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text