{"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\/ro\/blog\/news\/reliz-subd-postgresql-12","title":{"rendered":"Lansarea SGBD PostgreSQL 12","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 un an de dezvoltare <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/about\/news\/1976\/\">publicat\u0103<\/a><\/noindex> noua ramur\u0103 stabil\u0103 a SGBD-ului PostgreSQL 12. Actualiz\u0103rile pentru noua ramur\u0103 <noindex><a rel=\"nofollow\" href=\"http:\/\/www.postgresql.org\/support\/versioning\/\">vor fi lansate<\/a><\/noindex> pe parcursul a cinci ani p\u00e2n\u0103 \u00een noiembrie 2024. <\/p>\n<p>Principalele <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/static\/release-12.html\">nout\u0103\u021bi<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> Suportul pentru &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/ddl-generated-columns.html\">coloane generate<\/a><\/noindex>&#171;, al c\u0103rui valoare este calculat\u0103 pe baza unei expresii care cuprinde valorile altor coloane din aceea\u0219i tabel\u0103 (analog cu vizualiz\u0103rile, dar pentru coloane individuale). Coloanele generate pot fi de dou\u0103 tipuri &#8212; stocate \u0219i virtuale. \u00cen primul caz, valoarea este calculat\u0103 \u00een momentul ad\u0103ug\u0103rii sau modific\u0103rii datelor, iar \u00een al doilea &#8212; la fiecare citire, pe baza st\u0103rii curente a altor coloane. \u00cen prezent, PostgreSQL suport\u0103 doar coloane generate stocate;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 posibilitatea de a efectua interog\u0103ri de date din documente JSON prin intermediul <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/functions-json.html#FUNCTIONS-SQLJSON-PATH\">exprim\u0103rilor Path<\/a><\/noindex>, asem\u0103n\u0103toare <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/XPath\">XPath<\/a><\/noindex> \u0219i definite \u00een standardul SQL\/JSON. Pentru a \u00eembun\u0103t\u0103\u021bi eficien\u021ba proces\u0103rii acestor expresii pentru documentele stocate \u00een format JSONB, sunt aplicate mecanismele existente de indexare;\n<li class=\"l\"> Activat\u0103 implicit aplicarea compilatorului JIT (Just-in-Time) bazat pe contribu\u021biile LLVM pentru accelerarea execu\u021biei anumitor expresii \u00een procesul de procesare a interog\u0103rilor SQL. De exemplu, JIT este aplicabil pentru accelerarea execu\u021biei expresiilor din blocuri &#171;WHERE&#187;, \u00een listele de ie\u0219ire (target lists), \u00een expresiile aggregate \u0219i \u00een unele opera\u021biuni interne;\n<li class=\"l\"> Performan\u021ba index\u0103rii a fost semnificativ \u00eembun\u0103t\u0103\u021bit\u0103. Indexurile B-tree sunt optimizate pentru a func\u021biona \u00een condi\u021bii de modificare frecvent\u0103 a indexurilor &#8212; \u00een testele TPC-C se observ\u0103 o cre\u0219tere general\u0103 a performan\u021bei \u0219i o reducere a consumului de spa\u021biu pe disc, \u00een medie cu 40%. Au fost reduse costurile indirecte la generarea jurnalului de scriere anticipat\u0103 (WAL) pentru tipurile de indexuri GiST, GIN \u0219i SP-GiST. Pentru GiST, a fost ad\u0103ugat\u0103 posibilitatea de a crea indexuri wrapper (prin expresia INCLUDE), care includ coloane suplimentare. \u00cen opera\u021biunea <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-createstatistics.html\">CREATE STATISTICS<\/a><\/noindex> a fost asigurat\u0103 suportul pentru statisticile privind cele mai tipice valori (MCV), permi\u021b\u00e2nd generarea unor planuri de interogare mai optime atunci c\u00e2nd se utilizeaz\u0103 coloane distribuite neuniform;\n<li class=\"l\"> Implementarea parti\u021bion\u0103rii este optimizat\u0103 pentru interog\u0103rile care cuprind tabele cu mii de sec\u021biuni, dar care se limiteaz\u0103 la extragerea unui subset restr\u00e2ns de date. Performan\u021ba ad\u0103ug\u0103rii de date \u00een tabelele particionate a fost crescut\u0103 prin opera\u021biile INSERT \u0219i COPY, iar de asemenea, a fost garantat\u0103 posibilitatea de a ad\u0103uga noi sec\u021biuni prin &#171;ALTER TABLE ATTACH PARTITION&#187; f\u0103r\u0103 blocarea execu\u021biei interog\u0103rilor;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suport pentru desf\u0103\u0219urarea inline automat\u0103 a expresiilor tabelare generalizate (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/queries-with.html\">Common Table Expression<\/a><\/noindex>, CTE), care permit utilizarea seturilor de rezultate temporare numite, definite prin operatorul WITH. Desf\u0103\u0219urarea inline \u00eembun\u0103t\u0103\u021be\u0219te performan\u021ba celor mai multe interog\u0103ri, dar este aplicat\u0103 deocamdat\u0103 doar pentru CTE nerrecursive;\n<li class=\"l\"> A fost ad\u0103ugat suport pentru <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/collation.html#COLLATION-NONDETERMINISTIC\">nedeterminat\u0103<\/a><\/noindex> propriet\u0103\u021bile locale &#171;Collation&#187;, care permit stabilirea regulilor de sortare \u0219i a metodelor de comparare av\u00e2nd \u00een vedere semnifica\u021bia caracterelor (de exemplu, la sortarea valorilor numerice, se iau \u00een considerare prezen\u021ba minusului \u0219i punctului \u00eenaintea num\u0103rului \u0219i diferitele metode de scriere, iar la compara\u021bie, nu se ia \u00een considerare cazul literelor \u0219i prezen\u021ba accentului);\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suport pentru autentificarea multifactorial\u0103 a clientului, \u00een care \u00een pg_hba.conf, pot fi combinate autentificarea prin certificat SSL (clientcert=verify-full) cu o metod\u0103 suplimentar\u0103 de autentificare, cum ar fi scram-sha-256;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 suport pentru criptarea canalului de comunica\u021bie \u00een timpul autentific\u0103rii prin <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/gssapi-auth.html\">GSSAPI<\/a><\/noindex>, at\u00e2t pe partea clientului, c\u00e2t \u0219i pe partea serverului;\n<li class=\"l\"> A fost ad\u0103ugat suportul pentru definirea serverelor LDAP pe baza \u00eenregistr\u0103rilor &#171;DNS SRV&#187;, dac\u0103 PostgreSQL a fost compilat cu OpenLDAP;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 opera\u021bia &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/sql-reindex.html#SQL-REINDEX-CONCURRENTLY\">REINDEX CONCURRENTLY<\/a><\/noindex>\u00bb pentru reconstruirea indexurilor f\u0103r\u0103 a bloca opera\u021biunile de scriere \u00een index;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 comanda <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/app-pgchecksums.html\">pg_checksums<\/a><\/noindex>, care permite pentru o baz\u0103 de date existent\u0103 activarea \u0219i dezactivarea verific\u0103rii sumelor de control ale paginilor de date (anterior, aceast\u0103 opera\u021biune era suportat\u0103 doar \u00een timpul ini\u021bializ\u0103rii bazei de date);\n<li class=\"l\"> A fost asigurat\u0103 afi\u0219area unui indicator de progres pentru opera\u021biile CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL \u0219i pg_checksums;\n<li class=\"l\"> A fost ad\u0103ugat\u0103 comanda \u201e<noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/tableam.html\">CREATE ACCESS METHOD<\/a><\/noindex>\u00bb pentru a conecta gestionarii noilor metode de stocare a tabelului, optimizate pentru diverse sarcini specifice. \u00cen prezent, singura metod\u0103 de acces \u00eencorporat\u0103 la tabele este \u201eheap\u201d;\n<li class=\"l\"> Fi\u0219ierul de configurare recovery.conf a fost combinat cu postgresql.conf. Indicatoarele pentru trecerea \u00een starea de recuperare dup\u0103 o eroare sunt acum <noindex><a rel=\"nofollow\" href=\"https:\/\/www.postgresql.org\/docs\/12\/runtime-config-wal.html#RUNTIME-CONFIG-WAL-ARCHIVE-RECOVERY\">urm\u0103re\u0219te<\/a><\/noindex> folosite fi\u0219ierele recovery.signal \u0219i standby.signal.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Sursa: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51604\">opennet.ro<\/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\/ro\/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=\"ro_RO\" \/>\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\/ro\/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\udd47Lansarea SGBD-ului PostgreSQL 12 | ProHoster","description":"Dup\u0103 un an de dezvoltare, a fost publicat noul ramur\u0103 stabil\u0103 a SGBD-ului PostgreSQL 12.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-subd-postgresql-12","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/38636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=38636"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/38636\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=38636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=38636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=38636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}