Le PGDG (PostgreSQL Global Development Group) a publié une mise à jour de toutes les versions supportées de PostgreSQL, incluant 18.3, 17.9, 16.13, 15.17 et 14.22.
Cette publication hors cycle corrige des régressions relevées depuis la dernière publication de la 18.2 du 12 février 2026.
Pour la liste complète des changements, se référer à la section Notes de publication.
Corrections de bogues et améliorations
Cette mise à jour corrige plusieurs bogues ayant été signalés après la dernière publication. Les problèmes ci-dessous concernent PostgreSQL 18. Certains de ces problèmes peuvent aussi concerner d’autres versions de PostgreSQL.
- correction d’une anomalie où un standby est stoppé sur une erreur de type
could not access status of transaction; - correction d’une erreur sur la fonction
substring()qui remonte l’erreurinvalid byte sequence for encodingsur des valeurs de texte non ASCII si la source de cette valeur est une colonne, et introduit par la correction CVE-2026-2006; - correction de la fonction
strict_word_similaritydanspg_trgmqui peut entraîner des résultats incorrects ou des plantages. Cela est dû à une omission dans la correction de CVE-2026-2007; - correction de la volatilité des fonctions
json_strip_nulls()etjsonb_strip_nulls()afin qu’elles soient immutables, comme dans les versions précédentes, ce qui permet de les utiliser dans les index. Si vous avez déjà effectué une mise à niveau vers PostgreSQL 18.0 à 18.2, consultez les étapes supplémentaires dans la section « Mise à jour »; - correction des tests
NOT NULLdans la sous-requêteLATERAL UNION ALLqui peuvent entraîner des résultats de requête erronés; - éviter que les contraintes
NOT NULLne génèrent des conflits de noms avec les contraintes écrites par l’utilisateur; - correction de
pg_stat_get_backend_wait_event()etpg_stat_get_backend_wait_event_type()pour qu’elles rapportent les valeurs des processus auxiliaires, commepg_stat_activity; - correction de la conversion d’une variable de type composite en un type de domaine lors du renvoi de sa valeur à partir d’une fonction PL/pgSQL;
- correction de la fonction d’entrée binaire
hstorepour éviter les plantages lors de l’entrée de clés dupliquées.
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 aviez mis à jour depuis la version 18.0, 18.1 ou 18.2 de PostgreSQL, vous aurez besoin d’exécuter le script SQL suivant avec un rôle PostgreSQL superuser dans toutes vos bases de données pour rendre les fonctions json_strip_nulls() et jsonb_strip_nulls() immutables.
UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');
Vous devrez exécuter cette commande dans les bases de données template0 et template1 pour que les futures bases de données créées disposent du bon type de volatilité pour les fonctions ci-dessus. Vous pouvez vous référer à la documentation sur les bases de données templates.
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.
Vous pouvez utiliser les commandes suivantes pour exécuter la requête sur toutes vos bases de données :
for db in $(psql -XAt -c "select datname from pg_database where datname not in ('template0')");
do psql -d "${db}" -c "UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');";
done
De même, pour l’appliquer sur la base de données template0, vous pouvez utiliser les commandes suivantes :
psql -U postgres <<_EOF_
ALTER DATABASE template0 ALLOW_CONNECTIONS = true;
\c template0
UPDATE pg_catalog.pg_proc SET provolatile = 'i' WHERE oid IN ('3261','3262');
\c postgres
ALTER DATABASE template0 ALLOW_CONNECTIONS = false;
_EOF_
Liens
- Téléchargements
- Notes de version
- Page sur la sécurité
- Politique de version
- Soumettre un bogue
- Faire un don
Si vous avez des corrections ou suggestions sur cette annonce de publication, merci de les envoyer à la mailing liste publique pgsql-www@lists.postgresql.org.