Sortie de PostgreSQL 14

Par:
fredericmazue

ven, 01/10/2021 - 13:19

Le PostgreSQL Global Development Group vient d'annoncer la sortie de PostgreSQL 14, la dernière version de la célèbre base de données open source.

PostgreSQL 14 apporte une variété de fonctionnalités qui aident les développeurs et les administrateurs à déployer leurs applications basées sur les données. PostgreSQL continue d'ajouter des innovations sur les types de données complexes, notamment un accès plus pratique pour JSON et la prise en charge de plages de données non contiguës. Cette dernière version s'ajoute à la tendance de PostgreSQL à améliorer les charges de travail de données distribuées et hautes performances, avec des avancées en matière de concurrence de connexion, de charges de travail d'écriture élevées, de parallélisme des requêtes et de réplication logique.

« Cette dernière version de PostgreSQL améliore la capacité de nos utilisateurs à gérer les charges de travail de données à grande échelle, améliore l'observabilité et contient de nouvelles fonctionnalités qui aident les développeurs d'applications », a déclaré Magnus Hagander, membre de l'équipe principale de PostgreSQL. « PostgreSQL 14 témoigne du dévouement de la communauté mondiale PostgreSQL pour répondre aux commentaires et continuer à fournir des logiciels de base de données innovants qui sont déployés par des organisations grandes et petites. »

PostgreSQL bénéficie de plus de 25 ans de développement open source d'une communauté mondiale de développeurs.

Commodités et multigammes JSON

PostgreSQL prend en charge la manipulation des données JSON depuis la sortie de PostgreSQL 9.2, bien que la récupération des valeurs utilise une syntaxe unique. PostgreSQL 14 vous permet désormais d'accéder aux données JSON à l'aide d'indices, par ex. une requête comme

SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release'] ;

fonctionne maintenant. Cela aligne PostgreSQL avec la syntaxe communément reconnue pour récupérer des informations à partir de données JSON. Le framework d'abonnement ajouté à PostgreSQL 14 peut généralement être étendu à d'autres structures de données imbriquées et est également appliqué au type de données hstore dans cette version.

Les types de plage, également publiés pour la première fois dans PostgreSQL 9.2, prennent désormais en charge les plages non contiguës grâce à l'introduction du type de données « multiplage ». Une plage multiple est une liste ordonnée de plages qui ne se chevauchent pas, ce qui permet aux développeurs d'écrire des requêtes plus simples pour traiter des séquences complexes de plages. Les types de plage natifs de PostgreSQL (dates, heures, nombres) prennent en charge les plages multiples, et d'autres types de données peuvent être étendus pour utiliser la prise en charge multiplage.

Améliorations des performances pour les charges de travail lourdes

PostgreSQL 14 fournit une augmentation significative du débit sur les charges de travail qui utilisent de nombreuses connexions, certains benchmarks montrant une accélération de 2x. Cette version continue sur les récentes améliorations apportées à la gestion des index B-tree en réduisant le gonflement des index sur les tables avec des index fréquemment mis à jour.

PostgreSQL 14 introduit la possibilité de canaliser les requêtes vers une base de données, ce qui peut améliorer considérablement les performances sur les connexions à latence élevée ou pour les charges de travail avec de nombreuses petites opérations d'écriture (INSERT/UPDATE/DELETE). Comme il s'agit d'une fonctionnalité côté client, vous pouvez utiliser le mode pipeline avec n'importe quelle base de données PostgreSQL moderne avec le client version 14 ou un pilote client construit avec la version 14 de libpq.

Améliorations pour les charges de travail distribuées

Les bases de données PostgreSQL distribuées devraient bénéficier de PostgreSQL 14. Lors de l'utilisation de la réplication logique, PostgreSQL peut désormais diffuser les transactions en cours vers les abonnés, avec des avantages significatifs en termes de performances pour l'application de transactions volumineuses sur les abonnés. PostgreSQL 14 ajoute également plusieurs autres améliorations de performances au système de décodage logique qui alimente la réplication logique.

Les wrappers de données étrangères, qui sont utilisés pour travailler avec des charges de travail fédérées dans PostgreSQL et d'autres bases de données, peuvent désormais tirer parti du parallélisme des requêtes dans PostgreSQL 14. Cette version implémente cette capacité dans postgres_fdw, le wrapper de données étrangères qui s'interface avec d'autres bases de données PostgreSQL.

En plus de prendre en charge le parallélisme des requêtes, postgres_fdw peut désormais insérer en bloc des données sur des tables étrangères et importer des partitions de table avec la directive IMPORT FOREIGN SCHEMA.

Administration et observabilité

PostgreSQL 14 étend ses gains de performances au système d'aspiration, y compris des optimisations pour réduire les frais généraux des B-Trees. Cette version ajoute également un "mode d'urgence" vide conçu pour empêcher le bouclage de l'ID de transaction. ANALYZE, utilisé pour collecter des statistiques de base de données, s'exécute désormais beaucoup plus rapidement dans PostgreSQL 14 en raison de ses propres améliorations de performances.

La compression pour le système TOAST de PostgreSQL, qui est utilisé pour stocker des données plus volumineuses comme des blocs de texte ou des géométries, peut désormais être configurée. PostgreSQL 14 ajoute la compression LZ4 pour les colonnes TOAST tout en conservant la prise en charge de la compression pglz.

PostgreSQL 14 ajoute plusieurs nouvelles fonctionnalités pour faciliter la surveillance et l'observabilité, notamment la possibilité de suivre la progression des commandes COPY, l'activité d'écriture anticipée (WAL) et les statistiques sur les emplacements de réplication. L'activation de compute_query_id vous permet de suivre de manière unique une requête via plusieurs fonctionnalités PostgreSQL

PoistgreSQL 14 peut être téléchargé ici.