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.
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.
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.
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
.
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.
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 qde 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.
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.
PostgreSQL est le système de gestion de bases de données libre de référence. Sa communauté mondiale est composée de plusieurs milliers d’utilisateurs, contributeurs, entreprises et institutions. Le projet PostgreSQL, démarré il y a plus de 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 dépasse même celui des systèmes commerciaux leaders sur les fonctionnalités avancées, les extensions, la sécurité et la stabilité.
PostgreSQL is the world's most advanced open source database, with a global community of thousands of users, contributors, companies and organizations. Built on over 30 years of engineering, starting at the University of California, Berkeley, PostgreSQL has continued with an unmatched pace of development. PostgreSQL's mature feature set not only matches top proprietary database systems, but exceeds them in advanced database features, extensibility, security, and stability.
Learn more about PostgreSQL and participate in our community at PostgreSQL.org.
For explanations of the above features and others, please see the following resources:
There are several ways you can download PostgreSQL 14, including:
Other tools and extensions are available on the PostgreSQL Extension Network.
PostgreSQL 14 comes with HTML documentation HTML documentation as well as man pages, and you can also browse the documentation online in both HTML and PDF formats.
PostgreSQL uses the PostgreSQL License, a BSD-like "permissive" license. This OSI-certified license is widely appreciated as flexible and business-friendly, since it does not restrict the use of PostgreSQL with commercial and proprietary applications. Together with multi-company support and public ownership of the code, our license makes PostgreSQL very popular with vendors wanting to embed a database in their own products without fear of fees, vendor lock-in, or changes in licensing terms.
Website
All logos are available for modification and redistribution under The PostgreSQL Licence. The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada.
PostgreSQL enjoys the support of numerous companies, who sponsor developers, provide hosting resources, and give us financial support. See our sponsors page for some of these project supporters.
There is also a large community of companies offering PostgreSQL Support , from individual consultants to multinational companies.
If you wish to make a financial contribution to the PostgreSQL Global Development Group or one of the recognized community non-profit organizations, please visit our donations page.