Back to Gitlabhq

Mise à niveau des bases de données PostgreSQL externes

doc-locale/fr-fr/administration/postgresql/external_upgrade.md

19.2.03.3 KB
Original Source

Lors de la mise à niveau de votre moteur de base de données PostgreSQL, il est important de suivre toutes les étapes recommandées par la communauté PostgreSQL et votre fournisseur cloud. Deux types de mises à niveau existent pour les bases de données PostgreSQL :

  • Mises à niveau de versions mineures : Celles-ci incluent uniquement des correctifs de bogues et de sécurité. Elles sont toujours rétrocompatibles avec le modèle de base de données de votre application existante.

    Le processus de mise à niveau de version mineure consiste à remplacer les binaires PostgreSQL et à redémarrer le service de base de données. Le répertoire de données reste inchangé.

  • Mises à niveau de versions majeures : Celles-ci modifient le format de stockage interne et le catalogue de la base de données. Par conséquent, les statistiques d'objets utilisées par l'optimiseur de requêtes ne sont pas transférées vers la nouvelle version et doivent être reconstruites avec ANALYZE.

    Ne pas suivre le processus de mise à niveau de version majeure documenté entraîne souvent de mauvaises performances de la base de données et une utilisation élevée du processeur sur le serveur de base de données.

Tous les principaux fournisseurs cloud prennent en charge les mises à niveau majeures en place des instances de base de données, en utilisant l'utilitaire pg_upgrade. Cependant, vous devez suivre les étapes de pré et post-mise à niveau pour réduire le risque de dégradation des performances ou d'interruption de la base de données.

Lisez attentivement les étapes de mise à niveau de version majeure de votre plateforme de base de données externe :

Toujours exécuter ANALYZE sur votre base de données après une mise à niveau de version majeure {#always-analyze-your-database-after-a-major-version-upgrade}

Il est obligatoire d'exécuter l'opération ANALYZE pour actualiser la table pg_statistic après une mise à niveau de version majeure, car les statistiques de l'optimiseur ne sont pas transférées par pg_upgrade. Cette opération doit être effectuée pour toutes les bases de données sur le service/l'instance/le cluster PostgreSQL mis à niveau.

Lorsque vous planifiez votre fenêtre de maintenance, vous devez inclure la durée de ANALYZE, car cette opération peut dégrader significativement les performances de GitLab.

Pour accélérer l'opération ANALYZE, utilisez l'utilitaire vacuumdb, avec --analyze-only --jobs=njobs pour exécuter la commande ANALYZE en parallèle en lançant njobs commandes simultanément.