Mises à niveau du moteur de base de données RDS pour SQL Postgre - 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 SQL Postgre

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

  • Mises à jour du système d'exploitation — Amazon RDS peut parfois avoir besoin de mettre à jour le système d'exploitation sous-jacent de votre base de données pour appliquer des correctifs de sécurité ou modifier le système d'exploitation. Vous pouvez décider quand Amazon RDS applique les mises à jour du système d'exploitation à l'aide de la RDS console, AWS Command Line Interface (AWS CLI) ou RDSAPI. Pour plus d'informations sur les mises à jour de SE, consultez Application des mises à jour pour une instance de base de données.

  • Mises à niveau du moteur de base de données : lorsqu'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 la nouvelle version.

Dans ce contexte, une base de données est une instance de base RDS de données Postgre ou un SQL cluster de base de données Multi-AZ.

Il existe deux types de mises à niveau du moteur pour les SQL bases de données Postgre : 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 RDS pour une mise à niveau vers Postgre SQL.

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épliques de lecture des clusters 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 d'Amazon RDS Blue/Green Deployments 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 lors de la création ou de la modification d'une base de données. Cela signifie qu'Amazon met RDS automatiquement à niveau votre base de données après avoir testé et approuvé la nouvelle version. Si votre SQL base de données Postgre utilise 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.

Si votre base de données est un déploiement d'instance de base de données multi-AZ, Amazon met à niveau RDS simultanément l'instance principale et toutes les instances de secours. Il est donc possible que votre base de données ne soit pas disponible tant que la mise à niveau n'est pas terminée. Si votre base de données est un déploiement de cluster 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 met RDS ensuite à niveau l'ancienne instance d'écriture (qui est désormais une instance de lecteur).

Note

Le temps d'arrêt lié à une mise à niveau de version mineure d'un déploiement d'instance de base de données multi-AZ peut durer plusieurs minutes. 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'il est utilisé avec un RDS proxy, vous pouvez réduire davantage les temps d'arrêt à une seconde ou moins. Pour de plus amples informations, veuillez consulter Utilisation d'Amazon RDS Proxy . Vous pouvez également utiliser un proxy de base de données open source tel que Proxy SQL ou AWS JDBCDriver for My PgBouncerSQL,

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 Postgre SQL

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

Si votre période de conservation des sauvegardes est supérieure à 0, Amazon RDS prend deux instantanés de base de données pendant le processus de 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 prend des instantanés de base de données pendant le processus de mise à niveau uniquement 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 Postgre SQL version 12.13, exécutez la commande suivante : AWS CLI

Dans Linux, macOS, ou Unix:

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

Dans Windows:

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