Sortie de la base de données PostgreSQL 12

AprÚs un an de développement a été publiée nouvelle branche stable de la base de données PostgreSQL 12. Des mises à jour pour la nouvelle branche seront publiées pendant cinq ans jusqu'en novembre 2024.

Principales nouveautés:

  • Ajout du support des «colonnes gĂ©nĂ©rĂ©es», dont les valeurs sont calculĂ©es sur la base d'une expression englobant les valeurs d'autres colonnes dans la mĂȘme table (similaire aux vues, mais pour des colonnes sĂ©parĂ©es). 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 de l'ajout ou de la modification des donnĂ©es, tandis que dans le second, elle l'est Ă  chaque lecture en fonction de l'Ă©tat actuel d'autres colonnes. Actuellement, PostgreSQL ne supporte que les colonnes gĂ©nĂ©rĂ©es stockĂ©es;
  • Ajout de la possibilitĂ© d'exĂ©cuter des requĂȘtes de donnĂ©es Ă  partir de documents JSON via des expressions Path, similaires Ă  XPath et dĂ©finies dans la norme SQL/JSON. Pour amĂ©liorer l'efficacitĂ© du traitement de telles expressions pour les documents stockĂ©s au format JSONB, les mĂ©canismes d'indexation existants sont utilisĂ©s;
  • L'application du compilateur JIT (Just-in-Time) basĂ© sur les travaux de LLVM est activĂ©e par dĂ©faut pour accĂ©lĂ©rer l'exĂ©cution de certaines expressions lors du traitement des requĂȘtes SQL. Par exemple, le JIT est applicable pour accĂ©lĂ©rer l'exĂ©cution des expressions Ă  l'intĂ©rieur des blocs « WHERE », dans les listes de sortie (target lists), les expressions agrĂ©gĂ©es et certaines opĂ©rations internes;
  • La performance de l'indexation a Ă©tĂ© sensiblement augmentĂ©e. Les index B-tree sont optimisĂ©s pour fonctionner dans des conditions de modifications frĂ©quentes des index - dans les tests TPC-C, une augmentation globale de la performance et une rĂ©duction de l'espace disque utilisĂ© de 40% en moyenne ont Ă©tĂ© observĂ©es. Les frais gĂ©nĂ©raux liĂ©s Ă  la gĂ©nĂ©ration du journal de prĂ©-Ă©criture (WAL) pour les types d'index GiST, GIN et SP-GiST ont Ă©tĂ© rĂ©duits. Pour GiST, il a Ă©tĂ© ajoutĂ© la possibilitĂ© de crĂ©er des index enveloppants (via l'expression INCLUDE), incluant des colonnes supplĂ©mentaires. Dans l'opĂ©ration CREATE STATISTICS le support pour les statistiques des valeurs les plus typiques (MCV) a Ă©tĂ© assurĂ©, permettant de gĂ©nĂ©rer des plans de requĂȘtes plus optimaux en utilisant des colonnes de distribution inĂ©gale;
  • La mise en Ɠuvre du partitionnement est optimisĂ©e pour les requĂȘtes impliquant des tables avec des milliers de sections, tout en se limitant Ă  un sous-ensemble restreint de donnĂ©es. Les performances d'insertion de donnĂ©es dans des tables partitionnĂ©es ont Ă©tĂ© amĂ©liorĂ©es grĂące aux opĂ©rations INSERT et COPY, tout en permettant l'ajout de nouvelles sections via « ALTER TABLE ATTACH PARTITION » sans bloquer l'exĂ©cution des requĂȘtes;
  • Ajout du support du dĂ©ploiement inline automatique d'expressions de table communes (Common Table Expression, CTE), permettant d'utiliser des ensembles de rĂ©sultats nommĂ©s temporaires dĂ©finis par l'opĂ©rateur WITH. Le dĂ©ploiement inline permet d'amĂ©liorer les performances de la plupart des requĂȘtes, mais s'applique pour l'instant uniquement aux CTE non rĂ©cursifs;
  • Ajout du support de propriĂ©tĂ©s indĂ©terministes de la locale « Collation », permettant de dĂ©finir des rĂšgles de tri et des mĂ©thodes de correspondance tenant compte du sens des caractĂšres (par exemple, lors du tri des valeurs numĂ©riques, la prĂ©sence d'un signe moins et d'un point avant le nombre et les diffĂ©rentes façons d'Ă©criture sont prises en compte, tandis que lors de la comparaison, la casse des caractĂšres et la prĂ©sence d'un accent ne sont pas prises en compte);
  • Ajout du support de l'authentification multifactorielle des clients, oĂč dans pg_hba.conf, l'authentification peut ĂȘtre combinĂ©e avec un certificat SSL (clientcert=verify-full) avec une mĂ©thode d'authentification supplĂ©mentaire, telle que scram-sha-256;
  • Ajout du support du chiffrement de la communication lors de l'authentification via GSSAPI, tant cĂŽtĂ© client que cĂŽtĂ© serveur;
  • Ajout du support de la dĂ©finition des serveurs LDAP basĂ©s sur des enregistrements « DNS SRV », si PostgreSQL est compilĂ© avec OpenLDAP;
  • Ajout de l'opĂ©ration «REINDEX CONCURRENTLY» pour reconstruire les index sans bloquer les opĂ©rations d'Ă©criture dans l'index;
  • Ajout de la commande pg_checksums, permettant d'activer et 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 supportĂ©e que lors de l'initialisation de la base de donnĂ©es);
  • Fourniture d'un indicateur de progression pour les opĂ©rations CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL et pg_checksums;
  • Ajout de la commande «CREATE ACCESS METHOD» pour connecter les gestionnaires des nouvelles mĂ©thodes de stockage de tables, optimisĂ©es pour des tĂąches spĂ©cifiques. Actuellement, le seul moyen d'accĂšs intĂ©grĂ© aux tables est « heap » ;
  • Le fichier de configuration recovery.conf est dĂ©sormais combinĂ© avec postgresql.conf. Comme indicateurs de transition vers l'Ă©tat de rĂ©cupĂ©ration aprĂšs un Ă©chec, il convient d'utiliser les fichiers recovery.signal et standby.signal.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster