{"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\/it\/blog\/news\/reliz-subd-postgresql-12","title":{"rendered":"Rilascio del DBMS PostgreSQL 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dopo un anno di sviluppo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/about\/news\/1976\/\">\u00e8 stata pubblicata<\/a><\/noindex> nuovo ramo stabile del DBMS PostgreSQL 12. Aggiornamenti per il nuovo ramo <noindex><a rel=\"nofollow\" href=\"http:\/\/www.postgresql.org\/support\/versioning\/\">usciranno<\/a><\/noindex> nel corso di cinque anni fino a novembre 2024. <\/p>\n<p>Principali <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/static\/release-12.html\">novit\u00e0<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per \u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/ddl-generated-columns.html\">colonne generate<\/a><\/noindex>\u201c i cui valori vengono calcolati in base a un'espressione che copre i valori di altre colonne nella stessa tabella (simile alle viste, ma per colonne singole). Le colonne generate possono essere di due tipi \u2014 memorizzate e virtuali. Nel primo caso, il valore viene calcolato al momento dell'aggiunta o della modifica dei dati, mentre nel secondo \u2014 ad ogni lettura, in base allo stato corrente delle altre colonne. Attualmente in PostgreSQL sono supportate solo colonne generate memorizzate.\n<li class=\"l\"> Aggiunta la possibilit\u00e0 di eseguire query di dati da documenti JSON utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/functions-json.html#FUNCTIONS-SQLJSON-PATH\">Espressioni Path<\/a><\/noindex>, simili a <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XPath\">XPath<\/a><\/noindex> e definite nello standard SQL\/JSON. Per migliorare l'efficienza dell'elaborazione di tali espressioni per documenti memorizzati in formato JSONB, vengono utilizzati meccanismi di indicizzazione esistenti;\n<li class=\"l\"> \u00c8 abilitato per impostazione predefinita l'uso del compilatore JIT (Just-in-Time) basato su LLVM per accelerare l'esecuzione di alcune espressioni durante l'elaborazione delle query SQL. Ad esempio, il JIT \u00e8 applicabile per velocizzare l'esecuzione delle espressioni all'interno dei blocchi \u201cWHERE\u201d, nelle liste di output (target lists), nelle espressioni aggregate e in alcune operazioni interne;\n<li class=\"l\"> \u00c8 stata notevolmente aumentata la performance di indicizzazione. Gli indici B-tree sono ottimizzati per funzionare in condizioni di frequenti modifiche degli indici \u2014 nei test TPC-C si osserva un miglioramento complessivo delle prestazioni e una riduzione del consumo di spazio su disco in media del 40%. Sono stati ridotti i costi operativi nella generazione del log delle scritture anticipate (WAL) per i tipi di indici GiST, GIN e SP-GiST. Per GiST \u00e8 stata aggiunta la possibilit\u00e0 di creare indici di enveloping (tramite l'espressione INCLUDE) che includono colonne aggiuntive. Nelle operazioni <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-createstatistics.html\">CREATE STATISTICS<\/a><\/noindex> \u00e8 supportata la statistica sui valori pi\u00f9 comuni (MCV), che consente di generare piani di query pi\u00f9 ottimali quando si utilizzano colonne distribuite in modo non uniforme;\n<li class=\"l\"> L'implementazione della partizionamento \u00e8 ottimizzata per le query che coprono tabelle con migliaia di sezioni, limitandosi per\u00f2 all'estrazione di un sottoinsieme ristretto di dati. \u00c8 stata aumentata la performance di aggiunta di dati a tabelle partizionate tramite operazioni INSERT e COPY e sono state messe a disposizione nuove sezioni attraverso \u201cALTER TABLE ATTACH PARTITION\u201d senza bloccare l'esecuzione delle query;\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per la distribuzione automatica inline di espressioni tabulari generiche (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/queries-with.html\">Common Table Expression<\/a><\/noindex>, CTE), che consentono di utilizzare set di risultati temporanei denominati, definiti tramite l'operatore WITH. La distribuzione inline consente di migliorare le prestazioni della maggior parte delle query, ma attualmente si applica solo a CTE non ricorsivi;\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/collation.html#COLLATION-NONDETERMINISTIC\">non deterministici<\/a><\/noindex> propriet\u00e0 della localit\u00e0 \u201cCollation\u201d, che consente di stabilire le regole di ordinamento e i metodi di confronto tenendo conto del significato dei caratteri (ad esempio, durante l'ordinamento dei valori numerici si tiene conto della presenza di un segno meno e di un punto prima del numero e dei diversi modi di scrittura, e durante il confronto non si considera il case dei caratteri e la presenza di accenti);\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per la multi-fattoriale autenticazione del cliente, in cui nel pg_hba.conf per l'autenticazione \u00e8 possibile combinare l'autenticazione tramite certificato SSL (clientcert=verify-full) con un metodo di autenticazione aggiuntivo, come scram-sha-256;\n<li class=\"l\"> \u00c8 stato aggiunto il supporto per la crittografia del canale di comunicazione durante l'autenticazione tramite <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/gssapi-auth.html\">GSSAPI<\/a><\/noindex>, sia lato cliente che lato server;\n<li class=\"l\"> \u00c8 stata aggiunta la supporto per la definizione dei server LDAP basata su record \u201cDNS SRV\u201d, se PostgreSQL \u00e8 compilato con OpenLDAP;\n<li class=\"l\"> \u00c8 stata aggiunta l'operazione \u201c<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-reindex.html#SQL-REINDEX-CONCURRENTLY\">REINDEX CONCURRENTLY<\/a><\/noindex>\u00bb per la ricostruzione degli indici senza bloccare le operazioni di scrittura nell'indice;\n<li class=\"l\"> \u00c8 stato aggiunto il comando <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/app-pgchecksums.html\">pg_checksums<\/a><\/noindex>, che consente di abilitare e disabilitare la verifica delle somme di controllo delle pagine dati per un database esistente (precedentemente tale operazione era supportata solo durante l'inizializzazione del database);\n<li class=\"l\"> \u00c8 stata fornita la visualizzazione di un indicatore di progresso per le operazioni CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL e pg_checksums;\n<li class=\"l\"> \u00c8 stato aggiunto il comando \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/tableam.html\">CREATE ACCESS METHOD<\/a><\/noindex>\u00bb per collegare i gestori dei nuovi metodi di archiviazione delle tabelle, ottimizzati per diverse esigenze specifiche. Attualmente, l'unico metodo di accesso integrato alle tabelle \u00e8 \u00abheap\u00bb;\n<li class=\"l\"> Il file di configurazione recovery.conf \u00e8 stato unito a postgresql.conf. Come indicatori per il passaggio allo stato di ripristino dopo un guasto ora <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY\">si deve<\/a><\/noindex> utilizzare i file recovery.signal e standby.signal.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <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.1.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\/it\/blog\/news\/reliz-subd-postgresql-12\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Rilascio del DBMS PostgreSQL 12 | ProHoster","description":"Dopo un anno di sviluppo, \u00e8 stata pubblicata una nuova versione stabile del DBMS PostgreSQL 12.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/reliz-subd-postgresql-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/38636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38636"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38636\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}