
Le PGDG a publié une mise à jour de toutes les versions du système de gestion de bases de données, incluant les versions 13.4, 12.8, 11.13, 10.18, et 9.6.23. La troisième Beta de PostgreSQL 14 fait partie de cette livraison. Cette publication clôt une vulnérabilité de sécurité et corrige plus de 75 bogues rapportés dans les trois derniers mois.
Pour une liste complète des changements, référez-vous aux notes de publications .
Problèmes de sécurité
CVE-2021-3677 : Divulgation de la mémoire dans certaines requêtes
Versions affectées : 11 - 13
Une requête conçue à cet effet peut lire des octets arbitraires
sur le serveur. Dans la configuration par défaut, tout utilisateur authentifié
peut conduire cette attaque. L’attaque ne nécessite aucun droit de création
d’objets. Si le paramétrage du serveur inclut max_worker_processes=0
, les
versions connues de l’attaque ne sont pas réalisables. En revanche, des variants
inconnus de cette attaque peuvent être indépendants de ce paramètre.
Corrections de bogues et améliorations
Cette publication corrige plus de 75 bogues ayant été rapportés ces derniers mois. Certains de ces bogues ne concernent que la version 13, d’autres concernent les autres versions supportées.
On peut citer :
- la désactivation totale de la renégociation TLS/SSL. C’était déjà le cas, mais le serveur exécutait toujours les demandes de renégociation client ;
- la restauration de l’instantané de niveau portail après
COMMIT
ouROLLBACK
au sein d’une procédure. Cette modification corrige les cas où une tentative de récupération d’une valeur TOASTée immédiatement aprèsCOMMIT
/ROLLBACK
échoue avec un message de type « no known snapshots » ou « missing chunk number 0 for toast value » ; - éviter le dysfonctionnement de persistance de la sortie d’un curseur qui lit une requête volatile ;
- le rejet des cas où une requête dans un
WITH
n’émet qu’unNOTIFY
, ce qui cause un crash ; - différents correctifs à la marge pour les types numériques ;
ALTER EXTENSION
verrouille désormais l’extension lors de l’ajout ou la suppression d’un objet lui appartenant ;- le status «
enabled
» est désormais copié lorsque les déclencheurs d’une table partitionnée sont clonés sur une nouvelle partition ; - éviter les conflits d’alias dans les requêtes créées par
REFRESH MATERIALIZED VIEW CONCURRENTLY
. Cette commande échouait sur les vues matérialisées contenant des colonnes avec certains noms, notammentmv
etnewdata
; - l’interdiction des variables ligne dans les expressions
GENERATED
; - différents correctifs pour le comportement de
DROP OWNED BY
en relation avec les politiques sécurité de niveau ligne (RLS) ; - ré-autoriser les vieux noms de paramètres locaux Windows dans les
commandes
CREATE COLLATION
; walsender
affiche désormais la dernière commande de réplication danspg_stat_activity
, au lieu de la dernière commande SQL ;pg_settings.pending_restart
affiche désormaistrue
lorsqu’une entrée pertinente depostgresql.conf
est supprimée ;- autoriser, sous MS-Windows 64-bits, la valeur réelle de
work_mem * hash_mem_multiplier
à dépasser 2GB ; - mettre à jour le point de restauration minimal lorsque le rejeu d’un WAL d’une transaction annulée cause la troncature d’un fichier ;
- avancer proprement l’horizon du plus vieux segment de WAL requis
après l’invalidation d’un
slot
de réplication. Ceci corrige un problème survenant lorsque le stockage des WALs du serveur est plein ; - améliorer le rapport de progression de la phase de tri de la construction parallélisée d’un index B-tree ;
- correction de cas de crash de la réplication logique lors de mises à
jour d’une table partitionnée et à l’exécution de déclencheurs
AFTER
sur des tables partitionnées ; - empêcher les boucles infinies lors de l’insertion dans des index SP-GiST ;
- s’assurer que l’insertion dans un index SP-GiST puisse être terminée par une demande d’annulation de requête ;
- annuler, dans
psql
et d’autres programmes clients, le dépassement de fin de chaîne lors de la gestion de données ayant un encodage invalide ; - correction de
pg_dump
pour gérer correctement les déclencheurs sur les tables partitionnées dont le statut activé est différent du statut du déclencheur de la table parente ; - éviter les avertissements
"invalid creation date in header"
à l’exécution depg_restore
sur un fichier créé dans un fuseau horaire différent ; pg_upgrade
porte désormais leoldestXID
de l’ancienne installation et ne force plus deVACUUM FREEZE
;- extension de
pg_upgrade
pour détecter et avertir des extensions à mettre à jour ; - améliorer la gestion par
contrib/postgres_fdw
des colonnes générées. Une colonne générée dans une table étrangère doit représenter une colonne générée dans la table distante.
Pour une liste complète des changements, référez-vous aux notes de publications.
Mise à jour
Toutes les publications de mises à jour de PostgreSQL sont
cumulatives. Comme les autres publications mineures, il n’est pas
utile d’extraire et recharger les 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.
Les utilisateurs ayant omis d’appliquer des mises à jour peuvent avoir à appliquer des étapes additionnelles. Les notes de publication des versions précédentes fournissent les détails.
NOTE : PostgreSQL 9.6 n’aura plus de correctifs après le 11 novembre 2021. Vous pouvez consulter la politique de versionnement pour plus d’information.
PostgreSQL 14 Bêta 3
À propos
Cette mise à jour marque la troisième bêta de PostgreSQL 14, nous rapprochant encore de la disponibilité de la version finale cet automne.
Dans l’esprit de la communauté open source PostgreSQL, vous êtes invités à tester les nouvelles fonctionnalités sur vos systèmes pour nous aider à supprimer les bogues ou problèmes qui existeraient encore. Bien que nous ne vous encouragions pas à faire tourner une bêta en production, nous vous encourageons à tester vos profils de charge habituels.
Vos tests, et vos retours, aideront la communauté à s’assurer que la version 14 respecte les standards de stabilité et de fiabilité des versions du système de gestion de bases de données relationnelles open source le plus avancé.
Notes de version
PostgreSQL 14 Bêta 3 introduit la fonction unnest
pour les types
multirange
et corrige de nombreux bogues.
Pour la liste des changements inclus dans PostgreSQL 14 Bêta 3, on se reportera à la liste des points ouverts :
Installation
Pour passer en PostgreSQL 14 Bêta 3 à partir de la Bêta 2, ou de toute
autre version plus ancienne, il est obligatoire d’utiliser une
stratégie similaire à celle employée pour changer de version majeure
(i.e. pg_upgrade
ou pg_dump
/pg_restore
).
Pour plus d’informations, on se reportera à la section de la documentation concernant les montées de version :
Tests pour le débogage et la compatibilité
La stabilité de chaque publication de PostgreSQL dépend de vous, la communauté. En testant la version à venir avec votre charge et vos outils de tests, vous pourrez nous aider à trouver les bogues et régressions avant la publication de PostgreSQL 14.
Étant donné qu’il s’agit d’une version bêta, des changements mineurs dans le comportement de la base de données, des détails et des APIs sont toujours possibles. Vos retours et tests aideront à déterminer les ajustements finaux des nouvelles fonctionnalités.
La qualité des tests aide à déterminer le moment de la publication finale.
Une liste des problèmes ouverts est publiquement disponible dans le wiki de PostgreSQL. Vous pouvez rapporter des bogues en utilisant le formulaire présent sur le site web de PostgreSQL :
Planning Bêta
Il s’agit de la troisième publication bêta de la version 14. Le projet PostgreSQL publiera autant de bêtas que nécessaire pour tester. Celles-ci seront suivies par une ou plusieurs publications de versions candidates, jusqu’à la publication de la version finale à la fin de l’année.
Pour plus d’information, veuillez consulter la page Beta Testing :
Liens
- Téléchargement : https://www.postgresql.org/download/
- Notes de publication : https://www.postgresql.org/docs/current/release.html
- Page sur la sécurité : https://www.postgresql.org/support/security/
- Politique de version : https://www.postgresql.org/support/versioning/
- Information sur le Beta Testing : https://www.postgresql.org/developer/beta/
- Note de publication de PostgreSQL 14 Bêta : https://www.postgresql.org/docs/devel/release-14.html
- Problèmes connus de PostgreSQL 14 : https://wiki.postgresql.org/wiki/PostgreSQL_14_Open_Items
- Soumettre un bogue : https://www.postgresql.org/account/submitbug/
- Suivre @postgresql sur Twitter : https://twitter.com/postgresql