
Un aperçu des principales fonctionnalités du SGBDRO libre
Le 11 octobre, le PostgreSQL Global Development Group a annoncé la disponibilité au téléchargement de la première release candidate du SGBD relationnel et objet libre. La RC1 devrait être identique à la version stable, bien que quelques correctifs puissent être appliqués avant la disponibilité générale de PostgreSQL 11. Cela dit, quelles sont les nouveautés attendues ?
Toutes les fonctionnalités de PostgreSQL 11 ont été annoncées en mai dernier, lors de la sortie de la Beta 1. Comme nous l'avons rapporté, la prochaine version majeure de PostgreSQL se concentre sur les performances, le traitement de gros volumes de données et la facilité d'utilisation.
Améliorations majeures pour le partitionnement
PostgreSQL 11 contient plusieurs fonctionnalités qui améliorent le traitement des données dans les partitions. Elles incluent la possibilité de partitionner par une clé de hachage (partitionnement par hachage) ; le fait que les instructions UPDATE qui modifient une clé de partition déplacent maintenant les lignes affectées vers les partitions appropriées ; la prise en charge de PRIMARY KEY, FOREIGN KEY, des index et des déclencheurs sur les partitions ; etc.
PostgreSQL 11 introduit également la possibilité pour une requête de distribuer le regroupement et l'agrégation aux tables partitionnées avant l'agrégation finale. Cette fonctionnalité est désactivée par défaut, mais pour l'activer, vous devez définir enable_partitionwise_aggregate = on dans votre fichier de configuration ou pendant votre session ou transaction.
Améliorations au parallélisme
Plusieurs fonctionnalités ajoutées à cette version tirent parti de l'infrastructure de requête parallèle et offrent des améliorations significatives de performances. Cela inclut entre autres les jointures par hachage parallélisées et les CREATE INDEX parallélisés pour les index d'arbre-B.
Procédures stockées
PostgreSQL 11 introduit des procédures stockées SQL qui permettent aux utilisateurs d'utiliser des transactions intégrées (BEGIN, COMMIT/ROLLBACK) dans une procédure. Les procédures peuvent être créées à l'aide de la commande CREATE PROCEDURE et exécutées à l'aide de la commande CALL.
Compilation Just-In-Time
On notera encore la prise en charge de la compilation JIT (Just-In-Time) pour optimiser l'exécution de code SQL et d'autres opérations au moment de l'exécution. En utilisant des composants du projet LLVM, l'introduction de la prise en charge de JIT dans PostgreSQL accélère les requêtes qui utilisent des expressions (par exemple des clauses WHERE), des listes cibles, des agrégats, des projections, ainsi que certaines opérations internes. Le framework JIT de PostgreSQL est aussi conçu pour permettre un futur travail d'optimisation.
Fonctions Window
Dans cette version du SGBDRO, les fonctions Window prennent entièrement en charge le standard SQL:2011.

Améliorations de l'expérience utilisateur
À ces principaux changements, s'ajoutent aussi des améliorations de l'expérience utilisateur. Le PostgreSQL Global Development Group reconnaît en effet que, même si PostgreSQL contient un ensemble de fonctionnalités robustes, elles ne sont pas toutes faciles à utiliser et peuvent nécessiter des solutions de contournement dans les environnements de développement et de production. C'est le cas par exemple de l'utilisation de la commande ALTER TABLE … ADD COLUMN où la colonne nouvellement créée a une valeur DEFAULT qui n'était pas NULL. Avant PostgreSQL 11, lors de l'exécution de cette instruction, PostgreSQL réécrivait la totalité de la table, ce qui, sur les grosses tables dans des systèmes actifs, pouvait provoquer beaucoup de problèmes. PostgreSQL 11 supprime maintenant le besoin de réécrire la table dans la plupart des cas. Ainsi, l'exécution de l’instruction ALTER TABLE ... ADD COLUMN ... DEFAULT ... devrait être extrêmement rapidement.
L'impossibilité de quitter intuitivement la ligne de commande PostgreSQL (psql) était également pénible pour certains utilisateurs. De nombreux utilisateurs se sont plaints parce qu'ils essayaient de quitter la ligne de commande avec les commandes quit et exit, alors que la commande pour le faire est \q. Le PostgreSQL Global Development Group dit avoir pris en compte ces frustrations et ajouté maintenant la possibilité de quitter la ligne de commande en utilisant les mots-clés quit et exit, en espérant que quitter une session PostgreSQL sera désormais plus agréable pour les utilisateurs de PostgreSQL.
Vous trouverez la liste exhaustive des nouveautés et améliorations sur le site officiel de PostgreSQL. La disponibilité générale de PostgreSQL 11 est prévue pour le 18 octobre 2018.
Mise à jour le 18/10/2018 : la version stable de PostgreSQL 11 est enfin disponible.
Sources : Blog PostgreSQL (sortie de la RC1), Blog PostgreSQL (disponibilité générale)
Et vous ?



Voir aussi :





Vous avez lu gratuitement 31 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.