Po metų kūrimo buvo paskelbta nauja stabili PostgreSQL 15 DBVS atšaka. Naujos šakos atnaujinimai bus išleisti per penkerius metus iki 2027 m. lapkričio mėn.
Pagrindinės naujovės:
- Pridėtas palaikymas SQL komandai „MERGE“, kuri primena posakį „INSERT ... ON CONFLICT“. MERGE leidžia kurti sąlyginius SQL sakinius, kurie sujungia INSERT, UPDATE ir DELETE operacijas į vieną išraišką. Pavyzdžiui, naudodami MERGE, galite sujungti dvi lenteles įterpdami trūkstamus įrašus ir atnaujindami esamus. SUJUNKITE Į kliento_sąskaitą, NAUDOJANT naujausias_transakcijas t ĮJUNGTAS t.customer_id = ca.customer_id KAI ATITAIKYTA, TAI ATNAUJINTI NUSTATYTI balansą = balansas + operacijos_vertė KAI NESUTAIKIA, TAI ĮTERPITE (kliento_id, likutis) VERTES (t.customer_id, te.transaction_id, te.t.
- Žymiai patobulinti duomenų rūšiavimo atmintyje ir diske algoritmai. Priklausomai nuo duomenų tipo, testai rodo rūšiavimo greičio padidėjimą nuo 25% iki 400%.
- Buvo pagreitintos langų funkcijos, naudojant eilutę_numeris(), rank(), tankus_rankas() ir count().
- Įdiegta galimybė lygiagrečiai vykdyti užklausas su išraiška „SELECT DISTINCT“.
- Išorinių lentelių prijungimo mechanizmas „Foreign Data Wrapper“ (postgres_fdw) įgyvendina asinchroninių įsipareigojimų palaikymą, be anksčiau pridėtos galimybės asinchroniškai apdoroti užklausas išoriniams serveriams.
- Pridėta galimybė naudoti LZ4 ir Zstandard (zstd) algoritmus WAL operacijų žurnalams suspausti, o tai, esant tam tikriems darbo krūviams, gali vienu metu pagerinti našumą ir sutaupyti vietos diske. Siekiant sutrumpinti atkūrimo laiką po gedimo, buvo įtrauktas aktyvaus WAL žurnale rodomų puslapių gavimo palaikymas.
- Į pg_basebackup įrankį pridėta atsarginių kopijų failų glaudinimo išoriniame serveryje palaikymas. serveris, naudojant „gzip“, „LZ4“ arba „zstd“ metodus. Dabar galima naudoti pasirinktinius archyvavimo modulius, todėl nebereikia vykdyti apvalkalo komandų.
- Pridėta naujų funkcijų, skirtų eilėms apdoroti naudojant reguliariąsias išraiškas: regexp_count(), regexp_instr(), regexp_like() ir regexp_substr().
- Galimybė apibendrinti kelių diapazonų tipus („multirange“) buvo įtraukta į funkciją range_agg().
- Pridėtas security_invoker režimas, leidžiantis kurti rodinius, kurie veikia kaip skambinantis vartotojas, o ne kaip rodinio kūrėjas.
- Loginiam replikavimui buvo įdiegtas eilučių filtravimo ir stulpelių sąrašų nurodymo palaikymas, leidžiantis siuntėjo pusėje pasirinkti duomenų poaibį iš lentelės replikuoti. Be to, naujoji versija supaprastina konfliktų valdymą, pavyzdžiui, dabar galima praleisti prieštaringas operacijas ir automatiškai išjungti prenumeratą, kai aptinkama klaida. Loginis replikavimas leidžia naudoti dviejų fazių įpareigojimus (2PC).
- Pridėtas naujas žurnalo formatas – jsonlog, kuris išsaugo informaciją struktūrizuota forma naudojant JSON formatą.
- Administratoriui suteikiama galimybė deleguoti vartotojams individualias teises keisti tam tikrus parametrus. serverio konfigūracijos „PostgreSQL“.
- Psql programa pridėjo palaikymą ieškant informacijos apie nustatymus (pg_settings) naudojant komandą „\dconfig“.
- Bendrosios atminties naudojimas užtikrinamas statistiniams duomenims apie serverio veikimą kaupti, o tai leidžia atsikratyti atskiro statistikos rinkimo ir periodinio disko būsenos atstatymo proceso.
- Galimybė naudoti numatytąsias ICU lokales „ICU Collation“ buvo suteikta anksčiau, tik libc lokalės galėjo būti naudojamos kaip numatytoji lokalė.
- Pasiūlytas integruotas plėtinys pg_walinspect, kuris leidžia patikrinti failų turinį su WAL žurnalais naudojant SQL užklausas.
- Viešojoje schemoje visų vartotojų, išskyrus duomenų bazės savininką, įgaliojimai vykdyti komandą CREATE buvo atšaukti.
- „Python 2“ palaikymas buvo pašalintas iš PL / Python. Pašalintas pasenęs išskirtinis atsarginis režimas.
Papildymas: nuo 19:00 iki 20:00 (MSK) vyks internetinis seminaras, kuriame bus aptariami naujos versijos pakeitimai su Pavelu Luzanovu („Postgres Professional“). Tiems, kurie negali prisijungti prie transliacijos, atidarytas Pavelo birželio mėnesio pranešimo „PostgreSQL 15: MERGE and more“ įrašymas PGConf.Russia.
Šaltinis: opennet.ru
