Je souhaite calculer le temps d'arrêt lorsque ma version d'Amazon Relational Database Service (Amazon RDS) pour PostgreSQL fait l'objet d'une mise à niveau majeure.
Brève description
Lorsque vous effectuez une mise à niveau majeure d'une version d'Amazon RDS pour une instance de base de données PostgreSQL, les événements suivants se produisent :
- Un instantané est créé avant la mise à niveau pour les sauvegardes et les restaurations.
- L'instance est arrêtée pour préparer la mise à niveau.
- L'utilitaire pg_upgrade est utilisé pour exécuter la tâche de mise à niveau sur l'instance.
- Un instantané est créé après la mise à niveau et la mise en réseau est reconfigurée sur l'instance.
Étant donné que les mises à niveau de version majeures incluent des modifications du format de stockage de données interne, vous pouvez vous attendre à un temps d’arrêt sans estimation du temps d'exécution. La sauvegarde préalable à la mise à niveau est basée sur les modifications incrémentielles, la taille de la base de données pg_upgrade et le nombre de bases de données et d'objets de base de données tels que les tables.
Résolution
Pour calculer les temps d'arrêt avant d'effectuer la mise à niveau de la version majeure d'une instance, testez une instance distincte qui simule la configuration et les données actuelles de votre instance. Pour tester une instance distincte, procédez comme suit :
Remarque : Les étapes suivantes fournissent une estimation du processus de mise à niveau de votre version majeure et du temps nécessaire à la mise à niveau.
- Créez un instantané manuel de votre instance de base de données actuelle.
Remarque : Après avoir créé un instantané manuel, autorisez votre instance à terminer le chargement différé ou à effectuer une préparation à l’avance de l'instance.
- Pour créer une instance de test, restaurez l’instantané. Assurez-vous que la configuration de l'instance de test est identique à celle de votre instance de production pour des estimations précises du temps d'arrêt.
- Mettez à niveau l'instance de test vers la version souhaitée.
- Pour actualiser la table pg_statistic, exécutez ANALYZE.
- Comparez vos résultats, puis choisissez votre mise à niveau de production.
Temps d’arrêt des mises à niveau des instances Amazon RDS pour PostgreSQL avec réplicas en lecture
Lorsque vous effectuez une mise à niveau de version majeure, Amazon RDS met à niveau vos réplicas en lecture simultanément dans votre région AWS et dans l'instance de base de données principale. Les réplicas en lecture peuvent prolonger la durée du processus de mise à niveau sur l'instance principale.
Pour empêcher la mise à niveau d'un réplica, promouvez-le en instance autonome avant de lancer le processus de mise à niveau. Cela vous permet de réduire les temps d'arrêt de votre mise à niveau et de disposer d'un temps précis pour terminer la mise à niveau.
Temps d’arrêt pour les mises à niveau d’instances Amazon RDS pour PostgreSQL contenant des objets volumineux
Lorsque vous effectuez une mise à niveau d'une version majeure, tous les objets de la base de données sont analysés. Le nombre d'objets contenus dans la base de données détermine la durée du processus de mise à niveau. En outre, les objets volumineux (pg_largeobject) dans Amazon RDS pour PostgreSQL peuvent considérablement augmenter le temps d’arrêt de votre mise à niveau.
Pour réduire le temps d’arrêt de mise à niveau sur une instance contenant des objets volumineux, examinez vos objets volumineux afin de déterminer s'ils peuvent être supprimés. Utilisez également l'outil utilitaire vacuumlo pour identifier et supprimer les objets orphelins volumineux. L'utilitaire vacuumlo peut être téléchargé et exécuté localement ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Pour en savoir plus, consultez la page vacuumlo sur le site Web de PostgreSQL.
Informations connexes
Bonnes pratiques de mise à niveau d'Amazon RDS vers les versions majeures et mineures de PostgreSQL
Mise à niveau d’une version du moteur d'instance de base de données