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

Մեկ տարի զարգացումից հետո հրատարակված PostgreSQL 12 DBMS-ի նոր կայուն մասնաճյուղ: Թարմացումներ նոր մասնաճյուղի համար դուրս կգա հինգ տարով՝ մինչև 2024 թվականի նոյեմբերը։

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

  • Ավելացվել է աջակցություն «առաջացած սյունակներ«, որի արժեքը հաշվարկվում է նույն աղյուսակի այլ սյունակների արժեքները ընդգրկող արտահայտության հիման վրա (նման է դիտումների, բայց առանձին սյունակների համար): Ստեղծված սյունակները կարող են լինել երկու տեսակի՝ պահվող և վիրտուալ: Առաջին դեպքում արժեքը հաշվարկվում է տվյալների ավելացման կամ փոփոխման պահին, իսկ երկրորդ դեպքում արժեքը հաշվարկվում է յուրաքանչյուր ընթերցման վրա՝ հիմնվելով այլ սյունակների ընթացիկ վիճակի վրա: Ներկայումս PostgreSQL-ն աջակցում է միայն պահպանված գեներացված սյունակներին;
  • Ավելացրել է JSON փաստաթղթերից տվյալների հարցումների հնարավորություն՝ օգտագործելով Ճանապարհի արտահայտություններնմանվող XPath և սահմանված է SQL/JSON ստանդարտում: Գործող ինդեքսավորման մեխանիզմներն օգտագործվում են JSONB ձևաչափով պահվող փաստաթղթերի համար նման արտահայտությունների մշակման արդյունավետությունը բարելավելու համար.
  • Լռելյայնորեն միացված է JIT (Just-in-Time) կոմպիլյատորի օգտագործումը, որը հիմնված է LLVM մշակումների վրա՝ SQL հարցումների մշակման ժամանակ որոշ արտահայտությունների կատարումն արագացնելու համար: Օրինակ, JIT-ն օգտագործվում է WHERE բլոկների, թիրախային ցուցակների, ագրեգատային արտահայտությունների և որոշ ներքին գործողությունների ներսում արտահայտությունների կատարումն արագացնելու համար.
  • Ինդեքսավորման կատարողականը զգալիորեն բարելավվել է: B-tree ինդեքսները օպտիմիզացված են այնպիսի միջավայրերում աշխատելու համար, որտեղ ինդեքսները հաճախ փոխվում են. TPC-C թեստերը ցույց են տալիս կատարողականի ընդհանուր աճ և սկավառակի տարածության սպառման միջին կրճատում 40%-ով: Նվազեցված ծախսերը GiST, GIN և SP-GiST ինդեքսների տեսակների համար նախօրոք գրելու մատյան (WAL) ստեղծելիս: GiST-ի համար ավելացվել է փաթաթման ինդեքսներ ստեղծելու հնարավորությունը (INCLUDE արտահայտության միջոցով), որոնք ներառում են լրացուցիչ սյունակներ: Գործողության մեջ ՍՏԵԵՔ ՎԻATԱԿԱԳՐՈՒԹՅՈՒՆ Աջակցում է առավել տարածված արժեքի (MCV) վիճակագրությանը` անհավասար բաշխված սյունակներ օգտագործելիս հարցումների ավելի օպտիմալ պլաններ ստեղծելու համար.
  • Բաժանման իրականացումը օպտիմիզացված է հարցումների համար, որոնք ընդգրկում են աղյուսակները հազարավոր միջնորմներով, բայց սահմանափակված են տվյալների սահմանափակ ենթաբազմության ընտրությամբ: Բարձրացվել է INSERT և COPY գործողությունների միջոցով բաժանված աղյուսակներում տվյալների ավելացման գործունակությունը, ինչպես նաև հնարավոր է նոր բաժիններ ավելացնել «ALTER TABLE ATTACH PARTITION»-ի միջոցով՝ առանց հարցման կատարումն արգելափակելու;
  • Ավելացվել է ընդհանրացված աղյուսակի արտահայտությունների ավտոմատ ներդիրային ընդլայնման աջակցություն (Սեղանի ընդհանուր արտահայտություն, CTE), որոնք թույլ են տալիս օգտագործել WITH հայտարարության միջոցով նշված արդյունքների ժամանակավոր անվանումների հավաքածուները: Ներքին տեղակայումը կարող է բարելավել հարցումների մեծ մասի կատարումը, սակայն ներկայումս օգտագործվում է միայն ոչ ռեկուրսիվ CTE-ների համար;
  • Ավելացված աջակցություն ոչ դետերմինիստական «Collation» տեղանքի հատկությունները, որը թույլ է տալիս սահմանել տեսակավորման կանոններ և համապատասխանող մեթոդներ՝ հաշվի առնելով նիշերի նշանակությունը (օրինակ՝ թվային արժեքները տեսակավորելիս, թվի դիմաց մինուս և կետի առկայություն և տարբեր տեսակներ. հաշվի են առնվում ուղղագրությունը, իսկ համեմատելիս հաշվի չեն առնվում նիշերի դեպքը և շեշտադրման նշանի առկայությունը):
  • Ավելացվել է բազմագործոն հաճախորդի նույնականացման աջակցություն, որում pg_hba.conf-ում կարող եք համատեղել SSL վկայագրի վավերացումը (clientcert=verify-full) նույնականացման լրացուցիչ մեթոդի հետ, ինչպիսին է scram-sha-256 նույնականացման համար;
  • Ավելացվել է կապի ալիքի գաղտնագրման աջակցություն՝ նույնականացման միջոցով ԳՍՍԱՊԻ, ինչպես հաճախորդի, այնպես էլ սերվերի կողմից;
  • Ավելացվել է «DNS SRV» գրառումների հիման վրա LDAP սերվերների որոշման աջակցություն, եթե PostgreSQL-ը կառուցված է OpenLDAP-ով;
  • Ավելացված գործողություն»REINDEX ՄԻԱԺԱՄԱՆԱԿ» վերակառուցել ինդեքսները՝ առանց ինդեքսում գրելու գործողությունների արգելափակման.
  • Ավելացվեց թիմը pg_checkssums, որը թույլ է տալիս միացնել կամ անջատել տվյալների էջերի ստուգումը գոյություն ունեցող տվյալների բազայի համար (նախկինում այս գործողությունն ապահովվում էր միայն տվյալների բազայի սկզբնավորման ժամանակ);
  • Տրամադրված է առաջընթացի ցուցիչի արդյունք CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL և pg_checkssums գործողությունների համար;
  • Ավելացվեց հրաման «ՍՏԵՂԾԵԼ ՄՈՒՏՔԻ ՄԵԹՈԴ» միացնել կարգավորիչներ սեղանի պահպանման նոր մեթոդների համար, որոնք օպտիմիզացված են տարբեր հատուկ առաջադրանքների համար: Ներկայումս սեղանի մուտքի միակ ներկառուցված մեթոդը «կույտ» է;
  • Recovery.conf կազմաձևման ֆայլը միավորվել է postgresql.conf-ի հետ: Որպես ձախողումից հետո վերականգնման վիճակի անցման ցուցանիշներ՝ այժմ պետք է օգտագործել recovery.signal և standby.signal ֆայլերը:

Source: opennet.ru

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