24 septembre 2020 — Le PostgreSQL Global Development Group annonce aujourd'hui la sortie de PostgreSQL 13, la dernière version du SGBD open source de référence.
PostgreSQL 13 améliore considérablement le système d'indexation et de recherche, au bénéfice des bases de données volumineuses. Ces améliorations intègrent la réduction de l'espace disque occupé et des gains de performance pour les index, de meilleurs temps de réponse pour les requêtes utilisant des agrégats ou des partitions, une meilleure planification lors de l'utilisation des statistiques améliorées, et bien d'autres.
À côté de fonctionnalités très demandées comme le vacuum parallèle et le tri incrémental, PostgreSQL 13 améliore l'expérience de gestion des données pour tous les types de trafic, en offrant des optimisations pour l'administration au quotidien, plus de facilités pour les développeurs d'applications et des améliorations de sécurité.
Selon Peter Eisentraut, membre de la Core Team de PostgreSQL, « PostgreSQL 13 démontre la collaboration et l'implication de l'ensemble de la communauté dans la poursuite du développement des fonctionnalités de la base de données relationnelle open source la plus avancée au monde. Les innovations incluses dans chaque version, et la réputation de fiabilité et de stabilité expliquent pourquoi de plus en plus de gens choisissent PostgreSQL pour leurs applications. »
PostgreSQL, système innovant de gestion des données, connu pour sa fiabilité et sa robustesse, bénéficie depuis plus de 25 ans d'un développement open source par une communauté de développeurs mondiale. Il est devenu le système de gestion de bases de données relationnelles de référence pour des organisations de toute taille.
Continuant sur les travaux de la version précédente, PostgreSQL 13 gère efficacement la duplication de données dans un index B-tree, type standard d'index. Cela réduit l'espace utilisé par les index B-tree tout en améliorant la performance des requêtes.
PostgreSQL 13 introduit le tri incrémental, dans lequel les données triées lors
d'une étape précédente du plan de requêtage peuvent accélérer le tri dans une
étape ultérieure de ce même plan. De plus, PostgreSQL peut maintenant utiliser
le système de
statistiques étendues
(accessible au travers de la commande
CREATE STATISTICS
) pour
créer de meilleurs plans pour les requêtes contenant des clauses OR
et des
recherches IN
/ANY
sur des listes.
Avec PostgreSQL 13, la fonctionnalité d'agrégation par hachage peut améliorer différents types requêtes utilisant les agrégats et les grouping sets, en évitant aux agrégats volumineux de devoir tenir entièrement en mémoire. Les requêtes sur des tables partitionnées sont plus performantes ; il y a désormais davantage de possibilités d'écarter des partitions, ou de les joindre directement.
VACUUM est une opération essentielle de l'administration de PostgreSQL. Elle permet de récupérer l'espace de stockage après mise à jour ou suppression de lignes. Ce processus n'est pas dénué de difficultés, en dépit du travail mené sur les versions précédentes de PostgreSQL afin d'en réduire l'empreinte.
PostgreSQL 13 poursuit l'amélioration du vacuum en introduisant la parallélisation du vacuum pour les index. En plus des gains de performances rendus possibles par cette avancée, la charge induite par cette fonctionnalité peut être finement ajustée par l'administrateur qui peut définir le nombre de processus parallèles à lancer. Pour compléter ces améliorations de performances, l'insertion de données peut maintenant déclencher le processus d'autovacuum.
Les slots de réplication qui sont utilisés pour éviter la suppression des journaux de transactions (WAL) avant leur réception par un réplica, peuvent être finement configurés dans PostgreSQL 13. Cela permet de définir le nombre maximum de fichiers WAL à conserver et ainsi aider à la prévention des erreurs de saturation de l'espace disque.
PostgreSQL 13 ajoute également plusieurs éléments de suivi de l'activité de la
base de données par l'administrateur. Cela inclut notamment les statistiques
d'utilisation des WAL par EXPLAIN
, la progression de la sauvegarde en continu,
et la progression des commandes ANALYZE
. L'intégrité de la sortie de la
commande pg_basebackup
peut, de plus, être vérifiée avec la nouvelle commande
pg_verifybackup
.
PostgreSQL 13 simplifie le travail avec les types de données provenant de
différentes sources de données. Cette version ajoute notamment la fonction
datetime()
au support de SQL/JSON path. Celle-ci convertit les dates d'un format valide
(des chaînes ISO 8601, par exemple) en types natifs PostgreSQL. De plus, la
fonction de génération UUID v4,
gen_random_uuid()
,
est maintenant disponible sans extension.
Le système de partitionnement de PostgreSQL est plus souple maintenant que les
tables partitionnées supportent la réplication logique et les déclencheurs
(triggers) BEFORE
de niveau ligne.
La syntaxe
FETCH FIRST
a été
étendue pour y inclure la clause WITH TIES
. WITH TIES
permet d'inclure
toutes les lignes liées à la dernière ligne du résultat fourni par ORDER BY
.
Le système d'extension de PostgreSQL est un élément clé de sa robustesse,
puisqu'il permet aux développeurs d'en étendre les fonctionnalités. Dans les
versions précédentes, les nouvelles extensions ne pouvaient être installées que
par un superutilisateur de la base de données. Pour simplifier cette gestion,
PostgreSQL 13 ajoute le concept
« d'extension de confiance »,
qui permet aux utilisateurs d'installer les extensions identifiées comme de
« confiance » par un superutilisateur. Certaines extensions incluses dans
PostgreSQL sont définies comme de confiance par défaut :
pgcrypto
,
tablefunc
,
hstore
, parmi d'autres.
Pour les applications qui nécessitent des méthodes d'authentification
sécurisées, PostgreSQL 13 permet aux clients
d'exiger l'agrégation de canaux
lors de l'utilisation de
l'authentification SCRAM.
Le foreign data wrapper de
PostgreSQL (postgres_fdw
)
peut maintenant utiliser une authentification à base de certificats.
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 13, including:
Other tools and extensions are available on the PostgreSQL Extension Network.
PostgreSQL 13 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.