Le PGDG a publié une mise à jour de toutes les versions supportées de PostgreSQL. Il s’agit des versions 16.2, 15.6, 14.11, 13.14 et 12.18. Cette publication corrige près de 65 bogues repérés durant les derniers mois.
Cette publication inclut des correctifs sur les index. Il peut s’avérer nécessaire de réindexer certains index. Se référer à la section Notes de publication pour plus de détails.
Pour la liste complète des changements, se référer à la section Notes de publication.
Problèmes de sécurité
CVE-2024-0985 : REFRESH MATERIALIZED VIEW CONCURRENTLY
exécute du code arbitraire pour des utilisateurs PostgreSQL non propriétaires de la vue
CVSS v3 Base Score: 8.0
Versions affectées : 12 - 15.
Une étape dans la commande d’un rafraîchissement en parallèle était exécutée avec des restrictions de sécurité faibles. Si le propriétaire d’une vue matérialisée peut persuader un super-utilisateur ou un utilisateur avec des privilèges élevés d’exécuter un rafraîchissement parallèle sur cette vue, alors le propriétaire de la vue peut contrôler l’exécution du code avec les privilèges de l’utilisateur ayant lancer le REFRESH
. La correction de cette vulnérabilité permet de n’exécuter vue qu’avec les privilèges du propriétaire de cette dernière.
Le projet PostgreSQL remercie Pedro Gallegos pour avoir reporté ce problème.
Corrections des bogues et améliorations
Cette mise à jour corrige près de 65 bogues qui ont été reportés depuis ces derniers mois. Les problèmes listés ci-dessous affectent la version 16 de PostgreSQL. Certaines peuvent aussi affecter d’autres versions supportées de PostgreSQL.
- Corrige une fuite mémoire lors de l’inlining avec JIT qui pouvait conduire à des saturations de la mémoire;
- Plusieurs corrections portant sur le planificateur de requêtes;
- Alignement du comportement de
MERGE
etUPDATE
lors de la mise à jour de la colonne d’une clé de partitionnement et ne plus activer de déclencheurAFTER UPDATE ROW
et autres actions après mise à jour; - Correction de problèmes de noms de token dupliqués avec les commandes
ALTER TEXT SEARCH CONFIGURATION ... MAPPING
; - Correction de la commande
DROP ROLE
avec des noms de rôles dupliqués; - Lors d’un
DROP STATISTICS
, verrouiller correctement la table associée pour prévenir des erreurs si unANALYZE
est exécuté en parallèle; - Corrige les vérifications de volatilité de fonction pour les expressions
GENERATED
etDEFAULT
; - Vérifie la correspondance de collation lors de la comparaison d’un index existant et un nouvel index partitionné;
- Évite une erreur si un index enfant est supprimé en parallèle avec
REINDEX INDEX
sur un index partionné; - Correction pour verrouillage lors du nettoyage d’index GIN. Pour ce cas, si plusieurs processus tentaient de nettoyer les mêmes pages d’index GIN, il y avait un risque de corruption d’index. Si vous pensez être affecté par ce problème, réindexer vos index GIN après la mise à jour;
- Évite les erreurs avec les index SP-GiST partitionnés;
- Plusieurs corrections de propriétés pour des objets volumineux;
- Pour la commande
EXPLAIN (BUFFERS)
, changement du nom de l’attributshared/local
enshared
pour les données de timing d’I/O; - Assurer la durabilité de la commande
CREATE DATABASE
lors d’un crash système pendant ou juste après son exécution; - Ajouter plus de messages dans les journaux lors du démarrage ou la fin d’une restauration depuis une sauvegarde;
- Annule une modification ayant laissé le processus
walreceiver
ne répondant plus avec unSIGTERM
en attendant qu’une connexion de réplication soit établie; - Plusieurs corrections pour la réplication logique;
- Corrige l’incompatibilité avec
OpenSSL 3.2
; - Corrige PL/pgSQL pour autoriser les commandes SQL
CREATE FUNCTION/CREATE PROCEDURE
ayant des corps de fonctions du standard SQL; - Corrige la gestion d’erreur dans le mode pipeline de
libpq
; - Assure que
initdb
décommente toujours les entrées dans le fichierpostgresql.conf
pour les paramètres de typelc_
; - Dans
pg_dump
, ne pas extraire les règles RLS ou les labels de sécurité pour les objets membres d’extension.
Cette publication met à jour également les fichiers de données des fuseaux horaires à la sortie de tzdata
2024a pour les changements de lois DST au Groenland, Kazakhstan et Palestine, ainsi que des corrections pour les stations Casey et Vostok en Antarctique. Et des corrections historiques pour le Vietnam, Toronto et Miquelon.
Mise à jour
Toutes les publications de mises à jour de PostgreSQL sont
cumulatives. Comme pour les autres mises à jour mineures, il n’est pas
nécessaire d’extraire et de recharger les bases de données ni
d’utiliser pg_upgrade
pour appliquer cette mise à jour ;
il suffit simplement d’arrêter PostgreSQL et de mettre à jour les binaires.
Si vous utilisez des index GIN, vous aurez peut être besoin de réindexer après la mise à jour. Merci de consulter les notes de publication de versions pour plus d’informations.
Les utilisateurs ayant sauté une ou plusieurs mises à jour peuvent avoir besoin d’étapes additionnelles après la mise à jour. Les notes de publication des versions précédentes fournissent les détails.
Pour plus de détails, se référer à la note de publication de versions.
Liens
- Téléchargements
- Notes de version
- Page sur la sécurité
- Politique de version
- Annonce de la sortie de PostgreSQL 16
- Suivre @postgresql sur Twitter
- Faire un don
Si vous avez des corrections ou suggestions sur cette annonce de publication, merci de les envoyer à la mailing list publique pgsql-www@lists.postgresql.org.