PostgreSQL, également appelé Postgres, est un système de gestion de bases de données relationnelles open source orienté objet.
Après 11 mois de développement, Le lancement de la nouvelle version de PostgreSQL 16 a été annoncé, qui arrive comme une nouvelle branche stable du SGBD et dans laquelle mises à jour pendant cinq ans, jusqu'en novembre 2028, De plus, cela marque la fin de la branche PostgreSQL 11.x, qui est la plus ancienne branche actuelle supportée, qui prendra fin le 9 novembre.
Pour ceux qui ne connaissent toujours pas PostgreSQL, sachez qu'il est également connu sous le nom de Postgres et c'est un système de gestion de base de données relationnelle (SGBDR) gratuit, open source, qui vise à offrir une base de données basée sur l'extensibilité et le respect des normes techniques.
Principales nouveautés de PostgreSQL 16
Dans cette nouvelle version de PostgreSQL 16 présentée, il ressort que Les outils de contrôle d'accès pour la réplication logique ont été étendus. Par exemple, une nouvelle fonction prédéfinie « pg_create_subscription » a été ajoutée, qui permet de donner aux utilisateurs le droit de créer de nouveaux abonnements.
Ajoutée prise en charge de l'équilibrage de charge du côté des clients qui utilisent la bibliothèque standard libpq, l'équilibrage permet au client de se connecter à différents hôtes, qui peuvent être sélectionnés dans un ordre spécifique ou aléatoire. Si l'hôte n'est pas disponible, une tentative est effectuée pour se connecter à un autre serveur. Une fois la connexion établie, les requêtes au sein de la session sont envoyées au serveur sélectionné.
à côté des optimisations ont été apportées et le travail du planificateur de requêtes a été amélioré, puisque la parallélisation des opérations de jointure de table » COMPLETELY » et » RIGHT JOIN » est fournie
Dans PostgreSQL 16, on peut également trouver que prise en charge étendue des propriétés locales « Collation », qui permet d'établir des règles de classification et des méthodes de comparaison prenant en compte la signification des caractères. Par défaut, il est désormais compilé avec les paramètres régionaux ICU au lieu des paramètres régionaux libc.
Il a performances de réplication logique améliorées, depuis le possibilité d'utiliser des processeurs fonctionnant simultanément, en plus d'ajouter la possibilité d'utiliser des index B-tree pour les tables sans clés primaires, ce qui élimine le besoin d'une analyse séquentielle lors de la recherche d'enregistrements et a également accéléré la synchronisation initiale de certaines tables au format binaire.
Une autre amélioration apportée au mécanisme de réplication logique est que permet désormais de transmettre les modifications apportées à la base de données Lors de l'ajout, de la suppression ou de la mise à jour d'enregistrements sur un autre serveur, la fonctionnalité a été étendue avec la possibilité de répliquer les modifications à partir d'un serveur de sauvegarde.
Également ajouté prise en charge de la réplication de table logique bidirectionnelle, permettant de synchroniser les modifications apportées à deux tables sur des serveurs différents. Les capacités de réplication ajoutées à PostgreSQL 16 vous permettent de créer des configurations avec plusieurs serveurs actifs (mode actif-actif), sur lesquels vous pouvez effectuer simultanément des opérations INSERT, UPDATE, DELETE.
De l' autres changements qui se démarquent:
- Optimisation de l'utilisation des opérations « RIGHT JOIN » et « OUTER JOIN » pour rechercher les lignes qui ne sont pas dans la table jointe (« anti-join »).
- Amélioration de l'efficacité du plan d'optimisation pour les requêtes qui utilisent des fonctions d'agrégation en combinaison avec des clauses DISTINCT ou ORDER BY.
- Le tri incrémentiel est utilisé pour accélérer les requêtes SELECT DISTINCT.
La stratégie de fonctionnement VACUUM a été améliorée pour réduire le nombre de situations nécessitant le verrouillage de la table entière. - Sur les architectures x86 et ARM, des instructions de processeur vectoriel (SIMD) sont implémentées pour accélérer le traitement des chaînes ASCII, les opérations sur les données JSON et l'exécution de recherches de tableaux et de sous-transactions.
- Le module « auto_explain » inclut désormais la prise en charge de la journalisation des valeurs transmises aux requêtes paramétrées.
- Amélioration de la précision de l'algorithme de suivi des demandes utilisé dans les vues pg_stat_statements et pg_stat_activity.
- Les capacités de surveillance des performances du SGBD ont été étendues. Ajout d'une vue de service « pg_stat_io » avec des statistiques reflétant la charge sur le système d'E/S par divers backends (travailleur en arrière-plan, autovacuum, etc.) et objets.
- Un nouveau champ a été ajouté à la vue du service » pg_stat_all_tables » avec des informations sur l'heure de la dernière analyse d'une table ou d'un index.
enfin si tu es intéressé à en savoir plus, vous pouvez vérifier les détails dans le lien suivant