PostgreSQL - Mise à jour
Mise à jour du PaaS PostgreSQL
Requête
La mise à jour d'un PaaS PostgreSQL est de la responsabilité de cegedim.cloud et peut être demandée via un ticket requête soumis depuis ITCare en précisant un créneau de disponibilité pour l'opération.
Merci de préciser si celle-ci doit être réalisée en heures non ouvrées pour planification d'une RFC.
Il est recommandé de procéder à la mise à jour de vos environnements de non production d'abord afin de pouvoir estimer le temps d'interruption généré par l'opération ainsi que de recetter vos applications dans la nouvelle version du moteur.
Déroulement
La mise à jour d'un déploiement PostgreSQL (mono-instance ou haute disponibilité) se déroule en deux étapes complètement automatisées :
Mise à jour du système d'exploitation préalable
Plusieurs mises à jour selon le scénario : Debian 9 → Debian 10 → Debian 11 -> Debian 12
Mise à jour du moteur PostgreSQL dans la version cible
Selon la version source et cible de PostgreSQL, il peut donc être nécessaire de migrer d'abord le système d'exploitation dans une version supportée par cegedim.cloud (voir #postgresqlupgradeinplace-os-postgresqlsupportmatrixmatrice).
Impacts
La durée d'une mise à jour est variable selon :
Les ressources cpu et ram configurées
La quantité de données dont les entêtes doivent être modifiés par le moteur PostgreSQL.
La quantité de données à réindexer suite au changement de librairie C, après une mise à jour de l'OS.
Le mode de sauvegarde :
Point-in-time Recovery (PITR) à partir de PostgreSQL 12 et supérieur.
Le mode de sauvegarde "dump" disparait donc au profit du "PITR" et ne reste utilisé que dans les versions de PostgreSQL inférieures à la version 12.
Temps de référence
A titre indicatif, voici les durées pour chaque étape d'une mise à jour d'une base de données pgbench de 100 Go :
Mise à jour de Debian : 10 minutes en moyenne
Réindexation PostgreSQL : 5 minutes en moyenne
Mise à jour de PostgreSQL : 1 minute en moyenne
Checksum PostgreSQL : 3 minutes en moyenne
Vacuuming de PostgreSQL : 1 minute en moyenne
Sauvegarde complète de PostgreSQL (mode PITR) : 16 minutes en moyenne
En mode PostgreSQL HA, nous devons également mettre à jour le réplica et le synchroniser avec le leader :
Synchronisation PostgreSQL : 4 minutes en moyenne
Durée moyenne totale pour une base de données de 100GB : 40 minutes
Matrice de support OS / PostgreSQL
Distribution Linux supportées par cegedim.cloud en fonction de la version de PostgreSQL :
Versions de PostgreSQL | Distribution Linux supportée |
---|---|
PostgreSQL 10 | Debian 9 |
PostgreSQL 11 | Debian 10 |
PostgreSQL 12 | Debian 10 |
PostgreSQL 13 | Debian 11 |
PostgreSQL 14 | Debian 11 |
PostgreSQL 15 | Debian 11 |
PostgreSQL 16 | Debian 12 |
Chemins de mises à jour PostgreSQL supportés
La mise à jour du système d'exploitation, si elle a lieu, peut nécessiter une réindexation complète (aussi prise en charge par cegedim.cloud) du fait des évolutions de la librairie C lors de la mise à jour du système d'exploitation.
Selon la quantité de données, cette opération peut prendre un certains temps.
Ci-dessous les chemins de mises à jour supportés par cegedim.cloud :
Version Source | PostgreSQL 11 | PostgreSQL 12 | PostgreSQL 13 | PostgreSQL 14 | PostgreSQL 15 | PostgreSQL 16 |
---|---|---|---|---|---|---|
PostgreSQL 10 | ✅ * Debian 9 → Debian 10 | ✅ * Debian 9 → Debian 10 | ✅ ** Debian 9 → Debian 11 | ✅ ** Debian 9 → Debian 11 | ✅** Debian 9 → Debian 11 | ✅*** Debian 9 → Debian 12 |
PostgreSQL 11 |
| ✅ * Debian 9 → Debian 10 | ✅ ** Debian 9 → Debian 11 | ✅ ** Debian 9 → Debian 11 | ✅** Debian 9 → Debian 11 | ✅*** Debian 9 → Debian 12 |
PostgreSQL 12 |
|
| ✅ * Debian 10 → Debian 11 | ✅ * Debian 10 → Debian 11 | ✅* Debian 10 → Debian 11 | ✅** Debian 10 → Debian 12 |
PostgreSQL 13 |
|
|
| ✅ | ✅ | ✅* Debian 11 → Debian 12 |
PostgreSQL 14 | ✅ | ✅* Debian 11 → Debian 12 | ||||
PostgreSQL 15 | ✅* Debian 11 → Debian 12 |
* Une migration du système d'exploitation est requise.
** Une double migration du système d'exploitation est requise.
*** Une triple migration du système d'exploitation est requise.
Last updated