Publiée le 25 mai dernier, la version beta de PostgreSQL 16 apporte son lot de mises à jour et d’évolutions. Parmi elles, on retrouve des améliorations dans l'exécution des requêtes, la réplication logique, l'expérience des développeurs et la sécurité.

Sur les requêtes, la base de données open source affiche plus de parallélisme. Elle facilite ainsi l’exécution parallèle des jointures Full et Right ou les fonctions d’agrégation string_agg et array_agg. De même, elle est capable d’utiliser des tris incrémentaux dans les requêtes Select Distinct et améliore les performances du chargement simultané des données en masse en utilisant Copy jusqu’à 300 %, a déclaré le groupe en charge du développement de PostgreSQL.

La version 16 supporte pour la première fois l'accélération CPU en utilisant SIMD pour les architectures x86 et ARM, incluant des optimisations pour le traitement des chaînes ASCII et JSON et les recherches dans les tableaux et les sous-transactions. L'équilibrage de charge est introduit pour libpq, la bibliothèque client de PostgreSQL.

Réplication logique et support amélioré SQL/JSON

Avec la réplication logique, PostgreSQL 16 peut effectuer le décodage logique sur une instance en attente, offrant plus d'options pour distribuer les charges de travail. Cette fonction diffuse des données en temps réel vers d'autres instances PostgreSQL ou d'autres systèmes externes qui implémentent le protocole logique. Les performances de la réplication logique ont également été améliorées. Le décodage logique peut maintenant être effectué sur une instance de secours, ce qui offre plus d'options pour distribuer les workloads.

Pour les développeurs, PostgreSQL 16 continue d'implémenter le standard SQL/JSON pour la manipulation des données JSON, incluant le support des constructeurs SQL/JSON. La version ajoute la fonction d'agrégation standard SQL ANY_VALUE, qui retourne n'importe quelle valeur arbitraire de l'ensemble des agrégats. Les développeurs peuvent spécifier des entiers non décimaux tels que 0xff et 0o777. Le support du protocole de requête étendu a été ajouté au client psql.

Des efforts sur la sécurité

Sur la partie sécurité, le support de la délégation des identifiants Kerberos a été ajouté. Les extensions telles que postgres_fdw et dblink peuvent se servir d’identifiants authentifiés pour se connecter à d'autres services. D’autres paramètres de connexion orientés sécurité ont été ajoutés pour les clients. Les expressions régulières peuvent maintenant être utilisées dans les fichiers pg_hba.conf et pg_ident.conf pour faire correspondre les noms d'utilisateurs et de bases de données. PostgreSQL 16 supporte le standard SQL SYSTEM_USER k.

La version beta introduit par ailleurs le système de construction Meson, qui remplacera à terme Autoconf. Enfin, des fonctionnalités de monitoring ont été ajoutées, y compris une vue pg_stat_io pour fournir des statistiques sur les entrées-sorties. La stratégie de gel des pages a été améliorée pour aider à la performance de l'aspiration et d'autres opérations de maintenance. La prise en charge générale des collations de texte a également été améliorée.

PostgreSQL peut être téléchargé depuis la page web du projet pour les plateformes Linux, Windows, macOS, BSD et Solaris. D'autres bêtas sont attendues en fonction des besoins de test, la version finale de PostgreSQL 16 étant prévue pour la fin de l'année 2023.