-
Via www.loxodata.com : PostgreSQL 13 en bêta 3 et autres mises à jour
Mise à jour cumulative
Le PostgreSQL Global Development Group publie une mise à jour de l’ensemble des versions supportées, ce qui inclut les versions 12.4, 11.9, 10.14, 9.6.19 et 9.5.23.
Cette publication concerne également la troisième bêta de la version 13.
Cette mise à jour résout 2 failles de sécurité et corrige plus de 50 bogues rapportés sur le dernier trimestre.
Il est chaudement recommandé de planifier la mise à jour de vos serveurs au plus tôt.
Problème de sécurité
CVE-2020-14349 : Chemin de recherche incontrôlé dans la réplication logique
Versions concernées : 10 - 12
le paramètre
search_path
définit les schémas parcourus dans la recherche des tables, fonctions, opérateurs… Le correctif CVE-2018-1058 a permis de corriger lesearch_path
de la plupart des applications client fournies par PostgreSQL, mais la réplication logique n’a pas bénéficié de cette modification. Les utilisateurs de bases publicatrices ou souscriptrices peuvent créer des objets dans le schémapublic
et leur imposer l’exécution de fonctions SQL arbitraires sous l’identité de la réplication, souvent un superuser. Les installations qui utilisent un modèle d’utilisation de schéma sécurisé (ou secure schema usage pattern) sont protégées.Le projet PostgreSQL remercie Noah Misch d’avoir soulevé le problème.
CVE-2020-14350 : Chemin de recherche incontrôlé dans
CREATE EXTENSION
Versions concernées : 9.5 - 12 (L'équipe de sécurité ne teste pas les versions non supportées, mais ce problème peut être plus ancien.)
Lorsqu’un superuser lance certaines requêtes
CREATE EXTENSION
, des utilisateurs peuvent exécuter des fonctions SQL arbitraires sous l’identité du superuser. L’attaquant doit avoir le privilège de création d’objets dans le schéma de l’extension. Cela ne concerne pas toutes les extensions.Non seulement le PGDG a corrigé les extensions fournies avec PostgreSQL, mais il a également rédigé un guide pour les auteurs d’extension tiers.
Le projet PostgreSQL remercie Andres Freund d’avoir soulevé le problème.
À propos de la fin de vie de PostgreSQL 9.5
PostgreSQL 9.5 ne bénéficiera plus de mises à jour à compter du 11 février 2021.
Si vous avez encore des instances de la branche 9.5 en production, nous vous suggérons de planifier une migration vers une version plus récente.
Vous pouvez prendre connaissance de la politique de version pour plus d’informations :
https://www.postgresql.org/support/versioning
Corrections des bogues et améliorations
Cette mise à jour corrige plus de 50 bogues ayant été rapportés ces derniers mois. Certains d’entre eux n’affectent que la version 12, d’autres peuvent affecter toutes les versions supportées.
Ces corrections incluent :
- des cas limites dans la suppression de partitions impliquant une clé de partition à colonnes multiples en l’absence de clause WHERE ou avec une clause WHERE multiple ;
- la planification de requêtes et leur exécution en présence de partitions ;
- déterminer quand déclencher un trigger UPDATE sur une colonne spécifique sur un souscripteur de réplication logique ;
pg_replication_slot_advance()
actualise désormais les plus anciennes valeurs xmin et LSN. L’echec de la mise à jour pouvait empêcher les ressources (fichiers WAL, par exemple) d'être nettoyées ;- une régression de performance sur
ts_headline()
; pg_read_file()
et les fonctions liées lisent les fichiers jusqu’au EOF, ce qui corrige les problèmes de compatibilité avec les pipes et autres fichiers virtuels ;- l’interdiction des valeurs numériques
NaN
dans les calculs jsonpath, qui n’existent pas en SQL ou en JSON ; - les entrées
NaN
des fonctions d’agrégats. Cela corrige une modification en PostgreSQL 12 où les valeursNaN
entraînaient les fonctions d’agrégats suivantes à émettre une valeur0
au lieu deNaN
:corr()
,covar_pop()
,regr_intercept()
,regr_r2()
,regr_slope()
,regr_sxx()
,regr_sxy()
,regr_syy()
,stddev_pop()
, andvar_pop()
; - les valeurs
time
ettimetz
supérieures à24:00:00
sont désormais rejetées ; EXPLAIN
, dont un correctif pour présenter l’utilisation des ressources lorsqu’un plan utilise des workers parallèles avec les nœuds «  ;Gather Merge »;- la planification de la revalidation de contrainte lors d'
ALTER TABLE
qui pouvait aboutir à des erreurs étranges ; REINDEX CONCURRENTLY
qui pouvait empêcher les anciennes valeurs d'être incluses dans la sortie du décodage de la réplication logique ;- les références LATERAL, qui pouvaient potentiellement causer un crash à l’exécution ;
- l’utilisation de la collation précisée pour une requête lors de l’estimation des coûts des opérateurs ;
- les anomalies lors de la vérification de conflits en mode d’isolation de transaction SERIALIZABLE ;
- le checkpointer ne synchronise pas les fichiers si
fsync
est àoff
; - le checksum incohérent de
pg_control
, ce qui pouvait empêcher de redémarrer le serveur en cas de crash avant l’actualisation suivante depg_control
; - libpq continue d’essayer de lire sur la socket de connexion en cas d’erreur d'écriture pour permettre à la connexion de récupérer le message d’erreur final en provenance du serveur ;
pg_dump
etpg_basebackup
rapportent correctement les erreurs de disque plein;pg_restore
, dont un correctif pour la restauration parallèle de tables qui possèdent à la fois des droits de niveau table et de niveau ligne ;pg_upgrade
tourne avecvacuum_defer_cleanup_age
à0
;- la façon dont
pg_rewind
gère les fichiers tout juste supprimés dans le répertoire des données ; - l’erreur d’initialisation de l'état local dans
contrib/dblink
, qui pouvait conduiredblink_close()
à produire unCOMMIT
inattendu côté serveur distant ; contrib/amcheck
n’informe plus de pages d’index vides supprimées, puisque c’est normal lors du rejeu de WAL.
Pour la liste complète des changements, on pourra consulter la note de publication :
https://www.postgresql.org/docs/current/release.html
Mise à jour
Toutes les publications de mise à jour de PostgreSQL sont cumulatives. Comme pour les autres publications 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 publication  ;; il suffit de stopper PostgreSQL et mettre les binaires à jour.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, veuillez consulter la note de publication :
https://www.postgresql.org/docs/current/release.html
PostgreSQL 13 Bêta 3
À propos
Cette mise à jour marque la troisième bêta de PostgreSQL 13, 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 13 respectent les standards de stabilité et de fiabilité des versions du système de gestion de bases de données relationnels open source le plus avancé.
Notes de version
PostgreSQL 13 Bêta 3 introduit un nouveau paramètre de configuration,
hash_mem_multiplier
, qui permet de contrôler la quantité de mémoire allouée par agrégation de hachage. Les utilisateurs peuvent ainsi décider si les agrégats doivent utiliser le stockage sur disque ou rester en mémoire, cette dernière étant la seule option avant PostgreSQL 13.PostgreSQL 13 Bêta 3 supprime également le paramètre de configuration
hashagg_avoid_disk_plan
, connu préalablement commeenable_hashagg_disk
.Pour la liste des changements inclus dans PostgreSQL 13 Bêta 3, on se reportera à la liste des points ouverts :
https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items#resolved_before_13beta3
Installation
Pour passer en PostgreSQL 13 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
oupg_dump
/pg_restore
).Pour plus d’informations, on se reportera à la section de la documentation concernant les montées de version :
https://www.postgresql.org/docs/13/static/upgrading.html
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 13.
É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 :
https://www.postgresql.org/account/submitbug/
Planning Bêta
Il s’agit de la troisième publication bêta de la version 13. 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 2020.
Pour plus d’information, veuillez consulter la page Beta Testing :
https://www.postgresql.org/developer/beta/
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 13 Bêta : https://www.postgresql.org/docs/devel/release-13.html
- Problèmes connus de PostgreSQL 13 : https://wiki.postgresql.org/wiki/PostgreSQL_13_Open_Items
- Soumettre un bogue : https://www.postgresql.org/account/submitbug/
- Suivre @postgresql sur Twitter : https://twitter.com/postgresql
-
Nouvelles hebdomadaires de PostgreSQL - 26 juillet 2020
Personne de la semaine : https://postgresql.life/post/umair_shahid/
Les nouveautés des produits dérivés
- pgwatch2 1.8.0, un outil de surveillance pour PostgreSQL : https://www.cybertec-postgresql.com/en/pgwatch2-v1-8-0-released/
- pgBadger v11.3, un analyseur de log PostgreSQL et un générateur de graphe en Perl : https://github.com/darold/pgbadger/releases
- pgsodium 1.2.0, une extension ajoutant la bibliothèque de chiffrement libsodium à PostgreSQL : https://github.com/michelp/pgsodium/releases/tag/1.2.0
- pg_chameleon 2.0.14, un outil pour répliquer de MySQL vers PostgreSQL : https://github.com/the4thdoctor/pg_chameleon/releases/tag/v2.0.14
- Crunchy PostgreSQL Operator 4.4.0, un système pour déployer et gérer des clusters PostgreSQL open-source dans Kubernetes : https://access.crunchydata.com/documentation/postgres-operator/latest/releases/4.4.0/
- pgAdmin4 4.24, un centre de contrôle pour PostgreSQL en web & GUI native : https://www.pgadmin.org/docs/pgadmin4/dev/release_notes_4_24.html
-
Nouvelles hebdomadaires de PostgreSQL - 19 juillet 2020
Personne de la semaine : https://postgresql.life/post/stacey_haysler/
Les nouveautés des produits dérivés
- PostgresDAC 3.8, composants pour accès direct à PostgreSQL pour Delphi/C++ builder : http://microolap.com/products/connectivity/postgresdac/download/
-
Via sebastien.lardiere.net : PostgreSQL Hebdo #67
Lu cette semaine :
- Historique du code de Postgres entre 1987 et 1995 : https://github.com/kelvich/postgres...
- pgwatch2 v1.8.0 released
- How to SCRAM in Postgres with pgBouncer
- Outil web de requêtage SQL : SQLPad
- Glossaire des différents nœuds des plans d'exécution : EXPLAIN glossary
- A simple way found a bug born in 1997
- À propos de types de données : Les plages de valeurs (Partie 1)
Agenda :
Pgconf.eu a lieu du 20 au 23 octobre à BerlinConférence reportée à 2021 : https://www.postgresql.eu/events/pg...
-
Nouvelles hebdomadaires de PostgreSQL - 12 juillet 2020
La PGConf.EU a été annulée : https://2020.pgconf.eu
Les nouveautés des produits dérivés
- barman 2.11, un gestionnaire de sauvegarde et restauration pour PostgreSQL : https://sourceforge.net/projects/pgbarman/files/2.11/
- •
- 1
- 2