{"id":38636,"date":"2019-10-31T22:24:58","date_gmt":"2019-10-31T19:24:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-subd-postgresql-12\/"},"modified":"2019-10-31T22:24:58","modified_gmt":"2019-10-31T19:24:58","slug":"reliz-subd-postgresql-12","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-12","title":{"rendered":"Sortie de la base de donn\u00e9es PostgreSQL 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Apr\u00e8s un an de d\u00e9veloppement <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/about\/news\/1976\/\">a \u00e9t\u00e9 publi\u00e9e<\/a><\/noindex> nouvelle branche stable de la base de donn\u00e9es PostgreSQL 12. Des mises \u00e0 jour pour la nouvelle branche <noindex><a rel=\"nofollow\" href=\"http:\/\/www.postgresql.org\/support\/versioning\/\">seront publi\u00e9es<\/a><\/noindex> pendant cinq ans jusqu'en novembre 2024. <\/p>\n<p>Principales <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/static\/release-12.html\">nouveaut\u00e9s<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Ajout du support de \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/ddl-generated-columns.html\">colonnes g\u00e9n\u00e9r\u00e9es<\/a><\/noindex>\u00bb, dont la valeur est calcul\u00e9e sur la base d'une expression couvrant les valeurs d'autres colonnes de la m\u00eame table (similaire aux vues, mais pour des colonnes individuelles). Les colonnes g\u00e9n\u00e9r\u00e9es peuvent \u00eatre de deux types \u2014 stock\u00e9es et virtuelles. Dans le premier cas, la valeur est calcul\u00e9e au moment de l'ajout ou de la modification des donn\u00e9es, et dans le second \u2014 \u00e0 chaque lecture sur la base de l'\u00e9tat actuel des autres colonnes. Actuellement, PostgreSQL ne prend en charge que les colonnes g\u00e9n\u00e9r\u00e9es stock\u00e9es ;\n<li class=\"l\"> Ajout de la possibilit\u00e9 d'ex\u00e9cuter des requ\u00eates de donn\u00e9es \u00e0 partir de documents JSON via des <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/functions-json.html#FUNCTIONS-SQLJSON-PATH\">expressions Path<\/a><\/noindex>, similaires \u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XPath\">XPath<\/a><\/noindex> et d\u00e9finies dans la norme SQL\/JSON. Pour am\u00e9liorer l'efficacit\u00e9 du traitement de telles expressions pour les documents stock\u00e9s au format JSONB, les m\u00e9canismes d'indexation existants sont utilis\u00e9s;\n<li class=\"l\"> L'application du compilateur JIT (Just-in-Time) est activ\u00e9e par d\u00e9faut, bas\u00e9e sur les travaux de LLVM pour acc\u00e9l\u00e9rer l'ex\u00e9cution de certaines expressions lors du traitement des requ\u00eates SQL. Par exemple, le JIT est applicable pour acc\u00e9l\u00e9rer l'ex\u00e9cution d'expressions dans les blocs \u00ab WHERE \u00bb, dans les listes de sortie (target lists), les expressions d'agr\u00e9gation et certaines op\u00e9rations internes ;\n<li class=\"l\"> La performance d'indexation a consid\u00e9rablement augment\u00e9. Les index B-tree sont optimis\u00e9s pour fonctionner dans des conditions de modifications fr\u00e9quentes des index \u2014 dans les tests TPC-C, on observe une augmentation g\u00e9n\u00e9rale de la performance et une r\u00e9duction de la consommation d'espace disque en moyenne de 40 %. Les frais g\u00e9n\u00e9raux lors de la g\u00e9n\u00e9ration du journal de pr\u00e9-\u00e9criture (WAL) pour les types d'index GiST, GIN et SP-GiST ont \u00e9t\u00e9 r\u00e9duits. Pour GiST, il a \u00e9t\u00e9 ajout\u00e9 la possibilit\u00e9 de cr\u00e9er des index de type wrapper (via l'expression INCLUDE) incluant des colonnes suppl\u00e9mentaires. Dans l'op\u00e9ration <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-createstatistics.html\">CREATE STATISTICS<\/a><\/noindex> le support pour les statistiques des valeurs les plus typiques (MCV) a \u00e9t\u00e9 assur\u00e9, permettant de g\u00e9n\u00e9rer des plans de requ\u00eates plus optimaux en utilisant des colonnes de distribution in\u00e9gale;\n<li class=\"l\"> La mise en \u0153uvre du partitionnement est optimis\u00e9e pour les requ\u00eates couvrant des tables avec des milliers de sections, mais se limitant \u00e0 un sous-ensemble restreint de donn\u00e9es. Les performances d'ajout de donn\u00e9es dans des tables partitionn\u00e9es ont \u00e9t\u00e9 am\u00e9lior\u00e9es gr\u00e2ce aux op\u00e9rations INSERT et COPY, et il est \u00e9galement possible d'ajouter de nouvelles sections via \u00ab ALTER TABLE ATTACH PARTITION \u00bb sans bloquer l'ex\u00e9cution des requ\u00eates ;\n<li class=\"l\"> Ajout du support du d\u00e9ploiement inline automatique d'expressions de table communes (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/queries-with.html\">Common Table Expression<\/a><\/noindex>, CTE), permettant d'utiliser des ensembles de r\u00e9sultats nomm\u00e9s temporaires d\u00e9finis par l'op\u00e9rateur WITH. Le d\u00e9ploiement inline permet d'am\u00e9liorer les performances de la plupart des requ\u00eates, mais s'applique pour l'instant uniquement aux CTE non r\u00e9cursifs;\n<li class=\"l\"> Ajout du support de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/collation.html#COLLATION-NONDETERMINISTIC\">propri\u00e9t\u00e9s ind\u00e9terministes<\/a><\/noindex> des propri\u00e9t\u00e9s de locale \u00ab Collation \u00bb, permettant de d\u00e9finir des r\u00e8gles de tri et des m\u00e9thodes de correspondance en tenant compte du sens des caract\u00e8res (par exemple, lors du tri des valeurs num\u00e9riques, la pr\u00e9sence d'un signe moins et d'un point avant le nombre et les diff\u00e9rents types d'\u00e9criture sont pris en compte, tandis que lors de la comparaison, la casse des caract\u00e8res et la pr\u00e9sence d'un accent ne sont pas prises en compte) ;\n<li class=\"l\"> Ajout du support de l'authentification multifactorielle des clients, o\u00f9 dans pg_hba.conf, l'authentification peut \u00eatre combin\u00e9e avec un certificat SSL (clientcert=verify-full) avec une m\u00e9thode d'authentification suppl\u00e9mentaire, telle que scram-sha-256;\n<li class=\"l\"> Ajout du support du chiffrement de la communication lors de l'authentification via <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/gssapi-auth.html\">GSSAPI<\/a><\/noindex>, tant c\u00f4t\u00e9 client que c\u00f4t\u00e9 serveur;\n<li class=\"l\"> Ajout du support pour la d\u00e9finition de serveurs LDAP bas\u00e9s sur les enregistrements \u00ab DNS SRV \u00bb, si PostgreSQL est compil\u00e9 avec OpenLDAP ;\n<li class=\"l\"> Ajout de l'op\u00e9ration \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-reindex.html#SQL-REINDEX-CONCURRENTLY\">REINDEX CONCURRENTLY<\/a><\/noindex>\u00bb pour reconstruire des index sans bloquer les op\u00e9rations d'\u00e9criture dans l'index ;\n<li class=\"l\"> Ajout de la commande <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/app-pgchecksums.html\">pg_checksums<\/a><\/noindex>, permettant d'activer et de d\u00e9sactiver la v\u00e9rification des sommes de contr\u00f4le des pages de donn\u00e9es pour une base de donn\u00e9es existante (auparavant, cette op\u00e9ration n'\u00e9tait support\u00e9e que lors de l'initialisation de la base de donn\u00e9es);\n<li class=\"l\"> Fourniture d'un indicateur de progression pour les op\u00e9rations CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL et pg_checksums;\n<li class=\"l\"> La commande \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/tableam.html\">CREATE ACCESS METHOD<\/a><\/noindex>\u00bb pour connecter des gestionnaires de nouveaux m\u00e9thodes de stockage de tables, optimis\u00e9es pour diverses t\u00e2ches sp\u00e9cifiques. Actuellement, la seule m\u00e9thode d'acc\u00e8s int\u00e9gr\u00e9e aux tables est \u00ab heap \u00bb ;\n<li class=\"l\"> Le fichier de configuration recovery.conf est d\u00e9sormais combin\u00e9 avec postgresql.conf. Comme indicateurs de transition vers l'\u00e9tat de r\u00e9cup\u00e9ration apr\u00e8s un \u00e9chec, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY\">il convient<\/a><\/noindex> d'utiliser les fichiers recovery.signal et standby.signal.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51604\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 12. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2024 \u0433\u043e\u0434\u0430. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 &#171;\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432&#171;, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 (\u0430\u043d\u0430\u043b\u043e\u0433 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u043d\u043e \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432). \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u0432\u0443\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38636","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 12.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 12 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 12.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-12\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:24:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:58+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lancement de la base de donn\u00e9es PostgreSQL 12 | ProHoster","description":"Apr\u00e8s un an de d\u00e9veloppement, une nouvelle branche stable de la base de donn\u00e9es PostgreSQL 12 a \u00e9t\u00e9 publi\u00e9e.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 12 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 12.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/reliz-subd-postgresql-12","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:24:58+00:00","article:modified_time":"2019-10-31T19:24:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38636","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:52:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:06:23","updated":"2026-01-23 22:52:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=38636"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38636\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=38636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=38636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=38636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}