Sortie de PostgreSQL 16
Le 14 septembre 2023 - Le PostgreSQL Global Development Group annonce aujourd’hui la publication de PostgreSQL 16, dernière version de la base de données open source la plus avancée du monde.
PostgreSQL 16 augmente ses performances avec des améliorations notables apportées dans la parallélisation des requêtes, le chargement en masse et la réplication logique. Cette version inclut de nombreuses fonctionnalités pour les développeurs et développeuses et pour les administrateurs et administratrices en embarquant plus d’éléments de syntaxes SQL/JSON, de nouvelles statistiques de suivi de la charge de travail et plus de flexibilité dans la définition des règles de contrôle d’accès pour la gestion des politiques applicables à de grandes flottes de serveurs.
« Les utilisations des bases de données évoluant, PostgreSQL continue d’améliorer les performances en recherche et gestion des données à mesure que les volumes augmentent, » déclare Dave Page, membre de la Core-Team PostgreSQL. « PostgreSQL 16 offre aux utilisateurs et utilisatrices de nouvelles méthodes pour accroître et répartir la charge, tout en offrant de nouveaux moyens d’observer et optimiser la gestion de leurs données. »
Connu pour sa fiabilité et sa robustesse, PostgreSQL est le résultat d’un développement open source de plus de 25 ans par une communauté mondiale de développement. PostgreSQL est devenu le système de gestion de base de données relationnelles open source préféré d’organismes de toutes tailles.
PostgreSQL, système innovant de gestion des données, connu pour sa fiabilité et sa robustesse, bénéficie depuis plus de 35 ans d’un développement open source par une communauté de développeurs et développeuses 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.
Améliorations des performances
PostgreSQL 16 améliore la performance de fonctionnalités existantes via de
nouvelles optimisations du planificateur de requêtes. Dans cette nouvelle
version, le planificateur de requête peut
paralléliser les
jointures
FULL
et RIGHT
, générer de meilleurs plans pour les requêtes qui utilisent
des fonction
d’agrégation avec
des clauses DISTINCT
ou ORDER BY
, bénéficier de tris incrémentaux pour les
requêtes SELECT DISTINCT
et d’exécuter des requêtes
fenêtrées
plus efficacement. Il introduit également les « anti-jointures » RIGHT
et
OUTER
permettant ainsi d’identifier les lignes qui ne sont pas présentes dans
une table jointe.
Cette version inclut des améliorations sur le chargement en masse utilisant
COPY
en opérations
unitaires ou concurrentes. Les tests ont pu montrer un gain de performance
allant jusqu’à 300% dans certaines conditions. PostgreSQL ajoute également le
support de la répartition de
charge pour
les clients utilisant libpq
et des améliorations dans la stratégie de vacuum
réduisant la nécessité de verrouiller l’ensemble d’une table. De plus,
PostgreSQL 16 introduit une accélération processeur en utilisant SIMD
pour les
architectures x86 et ARM. Cette accélération permet des gains de performance
lors du traitement des chaînes ASCII et des types JSON ainsi que lors de
recherches dans les tableaux ou les sous-transactions.
Réplication logique
La réplication logique permet aux utilisateurs et utilisatrices de PostgreSQL d’envoyer des données au fil de l’eau à d’autres instances PostgreSQL ou à des destinataires capables d’interpréter le protocole de réplication logique de PostgreSQL. À partir de PostgreSQL 16, les utilisateurs et utilisatrices peuvent utiliser la réplication logique depuis une instance de réplication physique secondaire. Cela signifie qu’une instance secondaire peut publier des modifications logiques à destination d’autres serveurs. Les développeurs et développeuses ont ainsi accès à de nouvelles options de répartition de la charge – par exemple, en utilisant un serveur secondaire en lieu et place du primaire déjà fortement chargé pour répliquer des modifications logiques vers des serveurs en aval.
PostgreSQL 16 apporte également de nombreuses améliorations des performances de la réplication logique. Les souscripteurs peuvent maintenant appliquer de larges transactions en utilisant le parallélisme. Pour les tables sans clé primaire, les souscripteurs peuvent utiliser un index B-tree en lieu et place des parcours séquentiels pour trouver des lignes. Sous certaines conditions, les utilisateurs et utilisatrices peuvent aussi accélérer la synchronisation des tables en utilisant un format binaire.
PostgreSQL 16 inclut plusieurs améliorations de gestion des accès comme le
nouveau rôle
prédéfini
pg_create_subscription
qui permet d’accorder le droit de créer de nouveaux
abonnements logiques. Enfin, cette version apporte les prémices d’une
réplication logique bidirectionnelle en permettant de répliquer des données
entre deux tables provenant de sources différentes.
Expérience développeur/développeuse
PostgreSQL 16 ajoute des syntaxes du standard
SQL/JSON comme les
constructeurs et prédicats JSON_ARRAY()
, JSON_ARRAYAGG()
, et IS JSON
.
Cette version propose également la possibilité d’utiliser des underscores comme
séparateur de milliers (par exemple 5_432_000
) pour les valeurs numériques
entières comme 0x1538
, 0o12470
, and 0b1010100111000
.
Les développeurs et développeuses utilisant PostgreSQL 16 bénéficient également
de l’ajout de plusieurs commandes au client psql
, comme la commande
\bind
,
qui permet aux utilisateurs et utilisatrices d’exécuter une requête paramétrée
(par exemple SELECT $1 + $2
) puis d’utiliser \bind
pour valoriser les
variables.
PostgreSQL 16 améliore de manière le support général des différentes collations, qui définissent les règles de tri des champs texte. PostgreSQL 16, compilé par défaut avec prise en charge de ICU (International Components for Unicode), détermine la locale ICU par défaut à partir de l’environnement et permet aux utilisateurs et utilisatrices de définir des comportements personnalisés liés à une collation ICU.
Suivi d’exploitation
Un des points clés du réglage de la performance d’un trafic de base de données
est de comprendre l’impact des opérations d’entrées/sorties sur son système.
PostgreSQL 16 simplifie l’analyse de ces données avec la nouvelle vue
pg_stat_io
qui enregistre les statistiques clés des entrées/sorties comme le taux de succès
dans le shared_buffer
et la latence en entrée/sortie.
Cette version ajoute également un nouveau champ à la vue
pg_stat_all_tables
qui indique le dernier instant où une table ou un index a été parcouru.
PostgreSQL 16 rend aussi
auto_explain
plus
lisible en traçant les valeurs passées dans les requêtes paramétrées et améliore
la précision de l’algorithme de suivi des requêtes utilisé par
pg_stat_statements
et
pg_stat_activity
.
Contrôle d’accès et sécurité
PostgreSQL 16 fournit des options plus fines pour la gestion du contrôle d’accès
et améliore les fonctionnalités de sécurité. Cette version améliore la gestion
des fichiers
pg_hba.conf
et
pg_ident.conf
en
incluant la possibilité de définir des expressions rationnelles applicables sur
les noms des utilisateurs et utilisatrices et des bases de données ainsi que la
directive include
pour les fichiers de configuration externes.
Cette version ajoute plusieurs paramètres de connexion orientés sécurité au
niveau des clients. Ainsi require_auth
permet à un client de spécifier les
paramètres d’authentification qu’il accepte de la part du serveur. Le
paramètre
sslrootcert="system"
permet d’indiquer à PostgreSQL qu’il doit utiliser le magasin d’autorité de
certification de confiance (CA) fourni par le système d’exploitation du client.
De plus, cette version ajoute le support de la délégation d’identification de
Kerberos. Cela permet aux extensions comme
postgres_fdw
et
dblink
d’utiliser ce
mécanisme d’identification pour se connecter à des services de confiance.
À propos de 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, utilisatrices, contributeurs, contributrices, 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é.
Liens
- Téléchargements
- Notes de version
- Dossier de presse
- Page sécurité
- Politique des versions
- Suivre @postgresql sur Twitter
- Dons
En savoir plus sur les fonctionnalités
Pour de plus amples informations sur les fonctionnalités ci-dessus et toutes les autres, vous pouvez consulter les liens suivants :
Où télécharger
Il existe plusieurs façons de télécharger PostgreSQL 16, dont :
- la page de téléchargement , qui contient les installeurs et les outils pour Windows, Linux, macOS, et bien plus ;
- le code source.
D’autres outils et extensions sont disponibles sur le PostgreSQL Extension Network.
Documentation
La documentation au format HTML et les pages de manuel sont installées avec PostgreSQL. La documentation peut également être consultée en ligne ou récupérée au format PDF.
Licence
PostgreSQL utilise la licence PostgreSQL, licence « permissive » de type BSD. Cette licence certifiée OSI est largement appréciée pour sa flexibilité et sa compatibilité avec le monde des affaires, puisqu’elle ne restreint pas l’utilisation de PostgreSQL dans les applications propriétaires ou commerciales. Associée à un support proposé par de multiples sociétés et une propriété publique du code, sa licence rend PostgreSQL très populaire parmi les revendeurs souhaitant embarquer une base de données dans leurs produits sans avoir à se soucier des prix de licence, des verrous commerciaux ou modifications des termes de licence.
Contacts
Site internet
Courriel
- press@postgresql.org ou
- fr@postgreql.org pour un contact francophone
Images et logos
Postgres, PostgreSQL et le logo éléphant (Slonik) sont des marques déposées de l’Association de la Communauté PostgreSQL. Si vous souhaitez utiliser ces marques, vous devez vous conformer à la politique de la marque.
Support professionnel
PostgreSQL bénéficie du support de nombreuses sociétés, qui financent des développeurs et développeuses, fournissent l’hébergement ou un support financier. Les plus fervents supporters sont listés sur la page des sponsors.
Il existe également une très grande communauté de sociétés offrant du support PostgreSQL, du consultant indépendant aux entreprises multinationales.
Les dons au PostgreSQL Global Development Group, ou à l’une des associations à but non lucratif, sont acceptés et encouragés.
Photo fournie par Neil et Zulma Scott, sur Unsplash.