Version du SGBD PostgreSQL 12

Après un an de développement publié par nouvelle branche stable du SGBD PostgreSQL 12. Mises à jour pour la nouvelle branche sortira pendant cinq ans jusqu'en novembre 2024.

principal les innovations:

  • Ajout de la prise en charge de "colonnes générées", dont la valeur est calculée sur la base d'une expression couvrant les valeurs des autres colonnes du même tableau (similaire aux vues, mais pour des colonnes individuelles). Les colonnes générées peuvent être de deux types : stockées et virtuelles. Dans le premier cas, la valeur est calculée au moment où les données sont ajoutées ou modifiées, et dans le second cas, la valeur est calculée à chaque lecture en fonction de l'état actuel des autres colonnes. Actuellement, PostgreSQL ne prend en charge que les colonnes générées stockées ;
  • Ajout de la possibilité d'interroger des données à partir de documents JSON à l'aide Expressions de cheminressembler XPath et défini dans le standard SQL/JSON. Les mécanismes d'indexation existants sont utilisés pour améliorer l'efficacité du traitement de ces expressions pour les documents stockés au format JSONB ;
  • Activée par défaut, l'utilisation d'un compilateur JIT (Just-in-Time) basé sur les développements LLVM pour accélérer l'exécution de certaines expressions lors du traitement des requêtes SQL. Par exemple, JIT est utilisé pour accélérer l'exécution d'expressions à l'intérieur des blocs WHERE, des listes cibles, des expressions agrégées et de certaines opérations internes ;
  • Les performances d’indexation ont été considérablement améliorées. Les index B-tree sont optimisés pour fonctionner dans des environnements où les index changent fréquemment : les tests TPC-C montrent une augmentation globale des performances et une réduction moyenne de la consommation d'espace disque de 40 %. Réduction des frais généraux lors de la génération d'un journal d'écriture anticipée (WAL) pour les types d'index GiST, GIN et SP-GiST. Pour GiST, la possibilité de créer des index wrapper (via l'expression INCLUDE) qui incluent des colonnes supplémentaires a été ajoutée. En opération CRÉER DES STATISTIQUES Fournit la prise en charge des statistiques de valeur la plus courante (MCV) pour générer des plans de requête plus optimaux lors de l'utilisation de colonnes inégalement réparties ;
  • L'implémentation du partitionnement est optimisée pour les requêtes qui s'étendent sur des tables comportant des milliers de partitions, mais se limitent à sélectionner un sous-ensemble limité de données. Les performances d'ajout de données aux tables partitionnées à l'aide des opérations INSERT et COPY ont été augmentées, et il est également possible d'ajouter de nouvelles sections via « ALTER TABLE ATTACH PARTITION » sans bloquer l'exécution des requêtes ;
  • Ajout de la prise en charge de l'expansion automatique en ligne des expressions de table généralisées (Expression de table commune, CTE) qui permettent l'utilisation d'ensembles de résultats nommés temporaires spécifiés à l'aide de l'instruction WITH. Le déploiement en ligne peut améliorer les performances de la plupart des requêtes, mais n'est actuellement utilisé que pour les CTE non récursifs ;
  • Prise en charge supplémentaire non déterministe propriétés de la locale « Collation », qui permet de définir des règles de tri et des méthodes de correspondance en tenant compte de la signification des caractères (par exemple, lors du tri de valeurs numériques, la présence d'un moins et d'un point devant un nombre et différents types (l'orthographe est prise en compte, et lors de la comparaison, la casse des caractères et la présence d'un accent ne sont pas prises en compte) ;
  • Ajout de la prise en charge de l'authentification client multifacteur, dans laquelle dans pg_hba.conf vous pouvez combiner l'authentification par certificat SSL (clientcert=verify-full) avec une méthode d'authentification supplémentaire telle que scram-sha-256 pour l'authentification ;
  • Ajout de la prise en charge du cryptage du canal de communication lors de l'authentification via GSSAPI, tant côté client que côté serveur ;
  • Ajout de la prise en charge pour déterminer les serveurs LDAP en fonction des enregistrements « DNS SRV » si PostgreSQL est construit avec OpenLDAP ;
  • Opération ajoutée "RÉINDEXER SIMULTANÉMENT» pour reconstruire les index sans bloquer les opérations d'écriture sur l'index ;
  • Commande ajoutée pg_checksums, qui vous permet d'activer ou de désactiver la vérification des sommes de contrôle des pages de données pour une base de données existante (auparavant, cette opération n'était prise en charge que lors de l'initialisation de la base de données) ;
  • Fourni la sortie de l'indicateur de progression pour les opérations CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL et pg_checksums ;
  • Commande ajoutée "CRÉER UNE MÉTHODE D'ACCÈS» pour connecter des gestionnaires pour de nouvelles méthodes de stockage de tables optimisées pour diverses tâches spécifiques. Actuellement, la seule méthode d'accès aux tables intégrée est « tas » ;
  • Le fichier de configuration recovery.conf a été fusionné avec postgresql.conf. En tant qu'indicateurs de transition vers l'état de reprise après un échec, maintenant devrait utilisez les fichiers recovery.signal et Standby.signal.

Source: opennet.ru

Ajouter un commentaire