PostgreSQL 15 DBMS թողարկում

Մեկ տարվա մշակումից հետո հրապարակվել է PostgreSQL 15 DBMS-ի նոր կայուն մասնաճյուղը: Նոր մասնաճյուղի թարմացումները կթողարկվեն հինգ տարվա ընթացքում՝ մինչև 2027 թվականի նոյեմբերը:

Հիմնական նորամուծությունները.

  • Ավելացվել է «MERGE» SQL հրամանի աջակցությունը, որը նման է «INSERT ... ON CONFLICT» արտահայտությանը: MERGE-ը թույլ է տալիս ստեղծել պայմանական SQL հայտարարություններ, որոնք միավորում են INSERT, UPDATE և DELETE գործողությունները մեկ արտահայտության մեջ: Օրինակ, MERGE-ի միջոցով կարող եք միավորել երկու աղյուսակներ՝ տեղադրելով բացակայող գրառումները և թարմացնելով առկաները: MERGE INTO customer_account ca ՕԳՏԱԳՈՐԾԵԼՈՎ last_transactions t ON t.customer_id = ca.customer_id ԵՐԲ ՀԱՄԱՊԱՏԱՍԽՎՈՒՄ Է, ԱՊԱ ԹԱՐՄԱՑՐԵՔ SET մնացորդը = մնացորդ + գործարքի_արժեքը, ԵՐԲ ՉԻ ՀԱՄԱՊԱՏԱՍԽԱՆՈՒՄ, ԱՊԱ INSERT (customer_id, մնացորդ) VALUES (t.customeraction_id, t.
  • Զգալիորեն բարելավվել են հիշողության մեջ և սկավառակի վրա տվյալների տեսակավորման ալգորիթմները։ Կախված տվյալների տեսակից՝ թեստերը ցույց են տալիս տեսակավորման արագության աճ 25%-ից մինչև 400%։
  • Պատուհանների գործառույթները, որոնք օգտագործում են row_number(), rank(), dense_rank() և count() գործառույթները արագացվել են:
  • Իրականացվել է «SELECT DISTINCT» արտահայտությամբ հարցումների զուգահեռ կատարման հնարավորությունը։
  • Արտաքին աղյուսակների միացման մեխանիզմը Foreign Data Wrapper (postgres_fdw) ապահովում է ասինխրոն պարտավորությունների աջակցություն՝ ի լրումն արտաքին սերվերներին հարցումները ասինխրոն կերպով մշակելու նախկինում ավելացված կարողության:
  • Ավելացվեց LZ4 և Zstandard (zstd) ալգորիթմների օգտագործման հնարավորությունը՝ WAL գործարքների տեղեկամատյանները սեղմելու համար, որոնք, որոշ ծանրաբեռնվածության պայմաններում, կարող են միաժամանակ բարելավել աշխատանքը և խնայել սկավառակի տարածությունը: Խափանումից հետո վերականգնման ժամանակը նվազեցնելու համար ավելացվել է WAL մատյանում հայտնված էջերի ակտիվ որոնման աջակցություն:
  • Pg_basebackup ծրագիրը ավելացրել է աջակցություն սերվերի կողմից պահուստային ֆայլերի սեղմման համար՝ օգտագործելով gzip, LZ4 կամ zstd մեթոդները: Հնարավոր է օգտագործել ձեր սեփական մոդուլները արխիվացման համար, ինչը թույլ է տալիս անել առանց կեղևի հրամաններ գործարկելու անհրաժեշտության:
  • Կանոնավոր արտահայտությունների միջոցով տողերի մշակման համար ավելացվել են մի շարք նոր գործառույթներ՝ regexp_count(), regexp_instr(), regexp_like() և regexp_substr():
  • Range_agg() ֆունկցիային ավելացվել է բազմաշերտ տեսակների («բազմատիրույթ») ագրեգացման հնարավորությունը:
  • Ավելացվեց Security_invoker ռեժիմը, որը թույլ է տալիս ստեղծել դիտումներ, որոնք կաշխատեն որպես զանգահարող օգտվող, այլ ոչ թե դիտում ստեղծող:
  • Տրամաբանական վերարտադրման համար իրականացվել է տողերի զտման և սյունակների ցուցակների հստակեցման աջակցություն, ինչը թույլ է տալիս ուղարկողի կողմից վերարտադրման համար աղյուսակից ընտրել տվյալների ենթաբազմություն: Բացի այդ, նոր տարբերակը պարզեցնում է կոնֆլիկտների կառավարումը, օրինակ՝ այժմ հնարավոր է բաց թողնել հակասական գործարքները և ավտոմատ կերպով անջատել բաժանորդագրությունը, երբ սխալ է հայտնաբերվում: Տրամաբանական կրկնօրինակումը թույլ է տալիս օգտագործել երկու փուլային կոմիտացիաներ (2PC):
  • Ավելացվել է գրանցամատյանի նոր ձևաչափ՝ jsonlog, որը պահպանում է տեղեկատվությունը կառուցվածքային ձևով՝ օգտագործելով JSON ձևաչափը:
  • Ադմինիստրատորն ունի օգտատերերին անհատական ​​իրավունքներ պատվիրակելու՝ PostgreSQL սերվերի որոշակի կազմաձևման պարամետրերը փոխելու համար:
  • psql կոմունալն ավելացրել է «\dconfig» հրամանի միջոցով կարգավորումների (pg_settings) մասին տեղեկատվության որոնման աջակցություն:
  • Համօգտագործվող հիշողության օգտագործումն ապահովված է սերվերի աշխատանքի վերաբերյալ վիճակագրություն կուտակելու համար, ինչը հնարավորություն է տալիս ազատվել վիճակագրության հավաքագրման առանձին գործընթացից և վիճակը սկավառակի վրա պարբերաբար վերակայելու համար:
  • Տրամադրվել է ICU-ի լռելյայն տեղայնացումների «ICU Collation» օգտագործելու հնարավորությունը, նախկինում միայն libc տեղանքները կարող էին օգտագործվել որպես լռելյայն տեղակայում:
  • Առաջարկվել է ներկառուցված pg_walinspect ընդլայնում, որը թույլ է տալիս ստուգել WAL տեղեկամատյաններով ֆայլերի բովանդակությունը SQL հարցումների միջոցով:
  • Հանրային սխեմայի համար բոլոր օգտատերերը, բացառությամբ տվյալների բազայի սեփականատիրոջ, վերացվել են CREATE հրամանը կատարելու իրենց լիազորությունները:
  • Python 2-ի աջակցությունը հեռացվել է PL/Python-ում: Հնացած բացառիկ պահուստավորման ռեժիմը հեռացվել է:

Հավելում. 19:00-ից մինչև 20:00 (MSK) տեղի կունենա վեբինար, որտեղ կքննարկվեն նոր տարբերակի փոփոխությունները Պավել Լուզանովի (Postgres Professional) հետ: Նրանց համար, ովքեր չեն կարողանում միանալ հեռարձակմանը, PGConf.Russia-ում բաց է Պավելի հունիսյան զեկույցի «PostgreSQL 15. MERGE և ավելին» ձայնագրությունը:

Source: opennet.ru

Добавить комментарий