Sortie de PostgreSQL 14
Le PostgreSQL Global Development Group a annoncé aujourd’hui la sortie de PostgreSQL 14, la toute dernière version de la base de données open source de référence.
PostgreSQL 14 apporte de nouvelles fonctionnalités aux développeurs et administrateurs pour déployer leurs applications adossées aux bases de données. Des innovations sont apportées aux types de données complexes, facilitant l’accès aux données JSON et le support des plages de données non contiguës. Poursuivant la tendance, cette dernière version améliore les trafics de charges à haute-performance et distribuées, avec des avancées significatives dans le support des connexions concurrentes, des trafics intensifs en écriture, le parallélisme des requêtes et la réplication logique.
« Cette dernière version de PostgreSQL apporte à nos utilisateurs la capacité de gérer des trafics de données à grande échelle, améliore l’observabilité, et contient de nouvelles fonctionnalités pour les développeurs d’applications », déclare Magnus Hagander, membre de la Core Team de PostgreSQL. « PostgreSQL 14 témoigne de l’engagement de la communauté globale de PostgreSQL à prendre en compte le retours des utilisateurs tout en délivrant un logiciel de base de données innovant, déployé dans tout type d’organisations, grandes ou petites. »
PostgreSQL, reconnu pour la fiabilité et la robustesse de son système de gestion de données, bénéficiant d’un développement open source par une communauté globale de développeurs depuis plus de 25 ans, est devenu le moteur de gestion de base de données relationnelles préféré des entreprises de toutes tailles.
JSON plus convivial et plages multiples
PostgreSQL supporte la manipulation de données JSON depuis la version PostgreSQL 9.2 ; il s’agissait toutefois d’une syntaxe propre au moteur. PostgreSQL 14 permet désormais d’accéder aux données JSON en utilisant la notation subscript. Ainsi, une requête de type
SELECT ('{ "postgres": { "release": 14}}'::jsonb)['postgres']['release'];
est maintenant parfaitement fonctionnelle. Cela permet à PostgreSQL
d’être aligné avec la syntaxe couramment utilisée pour récupérer des
données JSON. L’infrastructure de subscripting ajoutée à PostgreSQL 14
peut être généralisée à toutes les autres formes de données
structurées et est également appliquée au type de données
hstore
à partir de
cette version.
Les types « plage de données », également introduits dans la version PostgreSQL 9.2, supportent maintenant les plages de données non continues par le biais de l’introduction du type «multirange». Un multirange est une liste ordonnée de plages disjointes. Cela permet aux développeurs d’écrire des requêtes plus simples pour traiter des séquences complexes de plages. Les types natifs à PostgreSQL supportant les plages (dates, heures, nombres) supportent maintenant les plages multiples. D’autres types de données peuvent être étendus pour utiliser ce support de plages multiples.
Améliorations des performances sur les trafics intensifs
PostgreSQL 14 accélère considérablement le débit des trafics reposant sur de nombreuses connexions concurrentes ; les tests de performance montrent un doublement de la vitesse de traitement. Cette version poursuit également l’amélioration de la gestion des index B-tree en réduisant la perte d’espace des index fréquemment mis à jour.
PostgreSQL 14 introduit la possibilité d’effectuer des
requêtes en rafale
(pipeline mode) vers la base de données. Cette nouvelle fonctionnalité
permet d’améliorer la performance des connexions ayant une latence
élevée ou pour les trafics effectuant de nombreuses opérations
d’écriture de petite taille (INSERT
/UPDATE
/DELETE
). Comme il
s’agit d’une amélioration côté client, le mode en rafale peut être
utilisé sur des versions plus anciennes de PostgreSQL, dès lors que le
client est en version 14.
Amélioration sur les trafics distribués
PostgreSQL 14 apporte son lot d’améliorations aux bases de données distribuées. Lors de l’utilisation de la réplication logique, PostgreSQL peut maintenant transmettre les transactions en cours au travers du flux de réplication aux souscripteurs. Cela permet une amélioration sensible de la performance lors de l’application de grosses transactions sur les souscripteurs. PostgreSQL 14 ajoute également plusieurs autres améliorations de performance au système de décodage logique, base de la réplication logique.
Les Foreign data wrappers,
qui sont utilisés pour permettre les trafics fédérés entre PostgreSQL
et d’autres bases de données, peuvent maintenant utiliser le
parallélisme des requêtes avec PostgreSQL 14. Cette version implante
cette fonctionnalité pour le foreign data wrapper
postgres_fdw
dont le rôle est de se connecter à d’autres bases PostgreSQL.
En plus de supporter le parallélisme des requêtes, postgres_fdw
peut
maintenant faire des insertions en masse dans une table étrangère et
importer des partitions de table avec la directive
IMPORT FOREIGN SCHEMA
.
Administration et observabilité
PostgreSQL 14 ajoute un gain de performance au système de
vacuuming
par l’introduction d’optimisations permettant de réduire la surcharge
liée au B-trees. Cette version inclut également un vacuum « d’urgence
» qui est conçu afin de prévenir le rebouclage des identifiants de
transaction. La commande
ANALYZE
,
utilisée pour collecter des statistiques sur la base de données,
fonctionne plus rapidement sur PostgreSQL 14.
Le mode de compression du système de
TOAST de
PostgreSQL, permettant de stocker les données volumineuses comme des
blocs de texte ou des géométries,
peut maintenant être configuré.
PostgreSQL 14 introduit la compression LZ4 pour les colonnes TOAST
tout en maintenant le support de la compression pglz
.
PostgreSQL 14 apporte de nombreuses fonctionnalités de surveillance et
d’observabilité dont la possibilité de
suivre la progression des commandes COPY
,
l’activité du write-ahead-log (WAL),
et
les statistiques des slots de réplication.
L’activation de
compute_query_id
permet de suivre de façon unique une requête au sein de différentes
fonctionnalités de PostgreSQL comme
pg_stat_activity
,
EXPLAIN VERBOSE
,
et différentes fonctions de journalisation.
Performance du SQL, conformité et simplicité
La planification et l’exécution des requêtes bénéficient des
optimisations de PostgreSQL 14. Cette version inclut plusieurs
améliorations du parallélisme des requêtes de PostgreSQL. On peut
citer de meilleures performances des lectures séquentielles
parallèles, la possibilité pour
PL/pgSQL
d’exécuter des requêtes parallélisées lors de l’utilisation de la
commande RETURN QUERY
et la possibilité pour
REFRESH MATERIALIZED VIEW
d’exécuter des requêtes parallèlisées. De plus, les requêtes utilisant
des jointures à boucles imbriquées bénéficieront de meilleures
performances gràce au système de cache additionnel intégré à
PostgreSQL 14.
Les statistiques étendues de PostgreSQL 14 peuvent maintenant être utilisées pour les expressions. En outre, les fonctions de fenêtrage peuvent maintenant bénéficier de tris incrémentaux, une fonctionnalité introduite par PostgreSQL 13.
Les procédures stockées,
qui permettent le contrôle des transactions dans un bloc de code,
peuvent maintenant retourner des données en utilisant des paramètres
OUT
.
PostgreSQL 14 introduit la possibilité de regrouper, ou d’aligner, des
estampilles temporelles dans un intervalle particulier en utilisant la
fonction
date_bin
.
Cette version apporte également le support des clauses conformes à la
norme SQL
SEARCH
et
CYCLE
qui aident au tri et à la détection de cycles dans les
expressions communes de tables (CTE)
récursives.
Amélioration de la sécurité
PostgreSQL 14 simplifie l’assignation des privilèges de lecture seule
ou écriture seule aux utilisateurs sur les tables, vues et schéma à
l’aide
des rôles prédéfinis
pg_read_all_data
et pg_write_all_data
.
De plus, cette version définit par défaut le gestionnaire de mot de
passe et d’authentification
SCRAM-SHA-256
sur les nouvelles instances PostgreSQL.
À propos de PostgreSQL
PostgreSQL est le système de gestion de bases de données libre de référence. Sa communauté mondiale est omposée de plusieurs milliers d’utilisateurs et contributeurs, et de plusieurs dizaines d’entreprises et institutions. Le projet PostgreSQL, démarré il y a 30 ans, à l’université de Californie, à Berkeley, a atteint aujourd’hui un rythme de développement sans pareil. L’ensemble des fonctionnalités proposées est mature et plus riche que ceux des systèmes commerciaux leaders sur les fonctionnalités avancées, les extensions, la sécurité et la stabilité, offertes à un niveau que seul PostgreSQL atteint.
Pour en savoir plus à propos de PostgreSQL et participer à la communauté : PostgreSQL.org.