{"id":105303,"date":"2022-10-13T21:36:41","date_gmt":"2022-10-13T19:36:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-postgresql-15"},"modified":"2022-10-13T21:36:41","modified_gmt":"2022-10-13T19:36:41","slug":"reliz-subd-postgresql-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-subd-postgresql-15","title":{"rendered":"Lansarea SGBD-ului PostgreSQL 15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dup\u0103 un an de dezvoltare, a fost lansat\u0103 o nou\u0103 ramur\u0103 stabil\u0103 a SGBD-ului PostgreSQL 15. Actualiz\u0103rile pentru aceast\u0103 nou\u0103 ramur\u0103 vor fi disponibile timp de cinci ani, p\u00e2n\u0103 \u00een noiembrie 2027.     <\/p>\n<p>Nout\u0103\u021bi principale:  <\/p>\n<ul>\n<li class=\"l\"> A fost ad\u0103ugat suport pentru comanda SQL \u201eMERGE\u201d, asem\u0103n\u0103toare expresiei \u201eINSERT \u2026 ON CONFLICT\u201d. MERGE permite crearea expresiilor SQL condi\u021bionale, care combin\u0103 \u00eentr-o singur\u0103 expresie opera\u021biile INSERT, UPDATE \u0219i DELETE. De exemplu, cu ajutorul MERGE se poate organiza unirea a dou\u0103 tabele, inser\u00e2nd \u00eenregistr\u0103rile lips\u0103 \u0219i actualiz\u00e2ndu-le pe cele existente. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);\n<li class=\"l\"> Algoritmii de sortare a datelor \u00een memorie \u0219i pe disc au fost semnificativ \u00eembun\u0103t\u0103\u021bi\u021bi. \u00cen func\u021bie de tipul de date, \u00een teste a fost observat\u0103 o cre\u0219tere a vitezei de sortare de la 25% p\u00e2n\u0103 la 400%.\n<li class=\"l\"> Performan\u021ba func\u021biilor de fereastr\u0103 utiliz\u00e2nd row_number(), rank(), dense_rank() \u0219i count() a fost accelerat\u0103.\n<li class=\"l\"> A fost implementat\u0103 posibilitatea execut\u0103rii paralele a interog\u0103rilor cu expresia \u201eSELECT DISTINCT\u201d.\n<li class=\"l\"> \u00cen mecanismul de conectare la tabele externe Foreign Data Wrapper (postgres_fdw) a fost implementat suportul pentru comiterea asincron\u0103, pe l\u00e2ng\u0103 func\u021bionalitatea de procesare asincron\u0103 a interog\u0103rilor c\u0103tre servere externe, ad\u0103ugat\u0103 anterior.\n<li class=\"l\"> A fost ad\u0103ugat\u0103 posibilitatea de a aplica algoritmii LZ4 \u0219i Zstandard (zstd) pentru comprimarea jurnalelor WAL ale tranzac\u021biilor, ceea ce, \u00een anumite condi\u021bii de \u00eenc\u0103rcare, permite at\u00e2t \u00eembun\u0103t\u0103\u021birea performan\u021bei, c\u00e2t \u0219i economisirea spa\u021biului pe disc. Pentru a reduce timpul de recuperare dup\u0103 o defec\u021biune, a fost ad\u0103ugat suport pentru extragerea anticipat\u0103 a paginilor prezente \u00een jurnalul WAL.\n<li class=\"l\"> \u00cen utilitarul pg_basebackup a fost ad\u0103ugat\u0103 suportul pentru comprimarea fi\u0219ierelor de rezerv\u0103 pe partea de server, folosind metode cum ar fi gzip, LZ4 sau zstd. Este posibil s\u0103 se utilizeze module proprii pentru arhivare, elimin\u00e2nd astfel necesitatea de a rula comenzi shell. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/dts-los-angeles\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3862\">server<\/a>A fost ad\u0103ugat\u0103 o serie de func\u021bii noi pentru manipularea \u0219irurilor folosind expresii regulate: regexp_count(), regexp_instr(), regexp_like() \u0219i regexp_substr().\n<li class=\"l\"> A fost ad\u0103ugat\u0103 capacitatea de a agrega tipuri multidiaporice (\u201emultirange\u201d) \u00een func\u021bia range_agg().\n<li class=\"l\"> Func\u021bia range_agg() a fost extins\u0103 cu posibilitatea de agregare a tipurilor multidiapazonale (\u201emultirange\u201d).\n<li class=\"l\"> A fost ad\u0103ugat modul security_invoker, care permite crearea unor vizualiz\u0103ri ce sunt executate cu drepturile utilizatorului apelant, nu cu cele ale creatorului vizualiz\u0103rii.\n<li class=\"l\"> Pentru replicarea logic\u0103, a fost implementat suport pentru filtrarea r\u00e2ndurilor \u0219i pentru definirea listelor de coloane, permi\u021b\u00e2ndu-le expeditorului s\u0103 extrag\u0103 un subset de date pentru replicare din tabel. \u00cen plus, noua versiune simplific\u0103 gestionarea conflictelor; de exemplu, a fost introdus\u0103 posibilitatea de a s\u0103ri peste tranzac\u021biile conflictuale \u0219i de a dezactiva automat abonamentele \u00een cazul detect\u0103rii unei erori. La replicarea logic\u0103, utilizarea angajamentelor \u00een dou\u0103 faze (2PC) este permis\u0103.\n<li class=\"l\"> A fost ad\u0103ugat un nou format de log-uri \u2014 jsonlog, care salveaz\u0103 informa\u021biile \u00eentr-o form\u0103 structurat, folosind formatul JSON.\n<li class=\"l\"> Administratorului \u00eei este oferit\u0103 posibilitatea de a delega utilizatorilor anumite autorit\u0103\u021bi pentru modificarea unor parametri specifici. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"al configura\u021biei serverului\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"999\">al configura\u021biei serverului<\/a> PostgreSQL.\n<li class=\"l\"> Utilitarul psql a fost \u00eembog\u0103\u021bit cu suport pentru c\u0103utarea informa\u021biilor despre set\u0103rile (pg_settings) utiliz\u00e2nd comanda \u201edconfig\u201d.\n<li class=\"l\"> A fost asigurat utilizarea memoriei partajate pentru acumularea statisticilor despre func\u021bionarea serverului, ceea ce a permis eliminarea unui proces separat pentru colectarea statisticilor \u0219i resetarea periodic\u0103 a st\u0103rii pe disc.\n<li class=\"l\">  A fost oferit\u0103 posibilitatea utiliz\u0103rii, implicit, a localiz\u0103rilor ICU \u201eICU Collation\u201d; anterior, ca localizare implicit\u0103 se puteau folosi doar localiz\u0103rile libc.\n<li class=\"l\"> A fost propus\u0103 extensia \u00eencorporat\u0103 pg_walinspect, care permite inspectarea con\u021binutului fi\u0219ierelor cu jurnale WAL prin intermediul interog\u0103rilor SQL.\n<li class=\"l\"> Pentru schema public, toate utilizatorii, cu excep\u021bia proprietarului bazei de date, au avut revocate autoriza\u021biile de a executa comanda CREATE.\n<li class=\"l\"> \u00cen PL\/Python a fost eliminat suportul pentru Python 2. A fost eliminat modul de rezerv\u0103 exclusiv (\u201eexclusive backup\u201d).    <\/ul>\n<p>Aditiv: De la 19:00 la 20:00 (MSK) va avea loc un webinar-discu\u021bie despre modific\u0103rile noii versiuni cu Pavel Luzanov (Postgres Professional). Pentru cei care nu se pot al\u0103tura \u00een direct, este disponibil\u0103 \u00eenregistrarea prezent\u0103rii din iunie a lui Pavel \u201ePostgreSQL 15: MERGE \u0219i nu numai\u201d pe PGConf.Russia.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57914\">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 15. \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 2027 \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 SQL-\u043a\u043e\u043c\u0430\u043d\u0434\u044b &#171;MERGE&#187;, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e\u0449\u0435\u0439 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 &#171;INSERT &#8230; ON CONFLICT&#187;. MERGE \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0435 SQL-\u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u044e\u0449\u0438\u0435 \u0432 \u043e\u0434\u043d\u043e\u043c \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 INSERT, UPDATE \u0438 DELETE. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 MERGE \u043c\u043e\u0436\u043d\u043e [&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-105303","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 15. \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 2027 \u0433\u043e\u0434\u0430.\" \/>\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-15\" \/>\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 15 | 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 15. \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 2027 \u0433\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-subd-postgresql-15\" \/>\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=\"2022-10-13T19:36:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-10-13T19:36:41+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\udd47 Lansarea SGBD-ului PostgreSQL 15 | ProHoster","description":"Dup\u0103 un an de dezvoltare, a fost publicat noul ramur\u0103 stabil\u0103 a SGBD-ului PostgreSQL 15. Actualiz\u0103rile pentru noua ramur\u0103 vor fi eliberate timp de cinci ani, p\u00e2n\u0103 \u00een noiembrie 2027.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-subd-postgresql-15","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 15 | 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 15. \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 2027 \u0433\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/reliz-subd-postgresql-15","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":"2022-10-13T19:36:41+00:00","article:modified_time":"2022-10-13T19:36:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"105303","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":"default","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-08 21:30:13","updated":"2026-02-22 15:31:03","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\/105303","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=105303"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/105303\/revisions"}],"predecessor-version":[{"id":162390,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/105303\/revisions\/162390"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=105303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=105303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=105303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}