PostgreSQL 13

Le 24 septembre, l'équipe de développement a annoncé la sortie de la prochaine version de Postgresql numéro 13. La nouvelle version se concentrait, entre autres, sur l'amélioration des performances, l'accélération des services de maintenance internes et la simplification de la surveillance des bases de données, ainsi qu'un contrôle d'accès au système plus fiable.

Les travaux se sont poursuivis sur l'optimisation de l'indexation des tables en termes de traitement des doublons parmi les données indexées dans les arbres d'index binaires, ce qui a permis non seulement d'accélérer l'exécution des requêtes, mais également de réduire l'espace disque occupé par l'index.
De plus, un algorithme de tri incrémentiel a été ajouté, dans lequel le tri répété des données déjà triées lors des étapes précédentes fonctionne plus rapidement, et certaines requêtes peuvent être accélérées en utilisant de nouvelles statistiques étendues (via la commande CREATE STATISTICS) lors du calcul d'une étape plus efficace. plan par étapes.
L'exécution de requêtes avec une agrégation de données coûteuse a également été optimisée en utilisant davantage l'agrégation hachée et en déversant une partie des données agrégées sur le disque si elles ne rentrent pas dans la RAM. Il y a une augmentation significative de la vitesse de connexion des tables situées sur différentes partitions.

Un travail considérable a été réalisé pour simplifier la maintenance et l'administration des bases de données Postgresql. La tâche intégrée de « mise sous vide », c'est-à-dire d'utilisation de l'espace disque libre après la suppression ou la réécriture de lignes, peut désormais être exécutée dans des threads parallèles, et l'administrateur a désormais la possibilité d'en spécifier le nombre. En plus de cela, de nouveaux outils ont été ajoutés pour surveiller l'activité actuelle de la base de données et les erreurs ont été évitées lors de la synchronisation des journaux de pré-enregistrement entre le maître et les répliques, ce qui pourrait entraîner des conflits lors de la déconnexion des répliques ou perturber l'intégrité du système distribué. base de données après leur restauration en fonction des données du journal.

Parmi les innovations destinées aux développeurs, il convient de souligner la fonction datetime(), qui convertit divers formats standard d'enregistrement du temps en un type Postgresql intégré ; Fonction de génération d'UUID v4 disponible immédiatement gen_random_uuid(); normalisation du travail avec Unicode ; un système plus flexible pour distribuer les données des tables sur les nœuds de réseau connectés de la base de données avec une réplication complète au niveau logique, ainsi que d'autres changements dans les requêtes et de nouveaux déclencheurs disponibles pour les répliques.

Le contrôle d'accès aux bases de données est considéré comme l'un des composants clés du système, et la nouvelle version fait de grands progrès à cet égard. Désormais, seul un utilisateur privilégié (superutilisateur) peut installer des extensions sur la base de données. Dans le même temps, les utilisateurs ordinaires pourront installer uniquement les extensions qu'ils ont marquées comme fiables, ou un petit ensemble d'extensions considérées comme fiables par défaut (par exemple, pgcrypto, tablefunc ou hstore). Lors de l'authentification des utilisateurs à l'aide du mécanisme SCRAM (lorsque vous travaillez via le pilote libpq), la « liaison de canal » est désormais requise et la fonction wrapper pour les données tierces postgres_fdw de la version 13 prend en charge l'autorisation de certificat.

Notes de version


Télécharger la page

Source: linux.org.ru

Ajouter un commentaire