PostgreSQL 15 DBMS-i väljalase

Pärast aastast arendustööd on avaldatud PostgreSQL 15 DBMS-i uus stabiilne haru. Uue haru värskendused avaldatakse viie aasta jooksul kuni 2027. aasta novembrini.

Peamised uuendused:

  • Lisatud tugi SQL-käsule "MERGE", mis sarnaneb väljendiga "INSERT ... ON CONFLICT". MERGE võimaldab teil luua tingimuslikke SQL-lauseid, mis ühendavad toimingud INSERT, UPDATE ja DELETE üheks avaldiseks. Näiteks funktsiooni MERGE abil saate liita kaks tabelit, lisades puuduvad kirjed ja värskendades olemasolevaid. LIIDAGE kliendikontosse ca hiljutisi_tehinguid KASUTAMISELT t SEES t.kliendi_id = ca.kliendi_id KUI VASTAB, SIIS VÄRSKENDAGE SET saldo = saldo + tehingu_väärtus KUI EI VASTUB, SIIS SISESTAGE (kliendi_id, saldo) VÄÄRTUSED (t.customer_id, te.transaction, te.
  • Oluliselt on täiustatud mälus ja kettal olevate andmete sortimise algoritme. Olenevalt andmete tüübist näitavad testid sorteerimiskiiruse tõusu 25%-lt 400%-le.
  • Aknafunktsioonid, mis kasutavad row_number(), rank(), dense_rank() ja count() on kiirendatud.
  • Rakendatud on päringute paralleelse täitmise võimalus väljendiga “SELECT DISTINCT”.
  • Väliste tabelite ühendamise mehhanism Foreign Data Wrapper (postgres_fdw) rakendab lisaks varem lisatud võimalusele asünkroonselt töödelda taotlusi välistele serveritele, tuge asünkroonsetele kohustustele.
  • Lisati võimalus kasutada WAL-i tehingulogide tihendamiseks LZ4 ja Zstandard (zstd) algoritme, mis teatud töökoormuse korral võivad samaaegselt parandada jõudlust ja säästa kettaruumi. Rikkejärgse taastumisaja vähendamiseks on lisatud WAL-logis kuvatavate lehtede ennetava toomise tugi.
  • Utiliit pg_basebackup on lisanud toe varufailide serveripoolseks tihendamiseks gzip, LZ4 või zstd meetodil. Arhiveerimiseks on võimalik kasutada oma mooduleid, mis võimaldab ilma shellikäskude käivitamiseta.
  • Regulaaravaldiste abil stringide töötlemiseks on lisatud rida uusi funktsioone: regexp_count(), regexp_instr(), regexp_like() ja regexp_substr().
  • Funktsioonile range_agg() on lisatud mitmevahemiku tüüpide liitmise võimalus (“mitmevahemik”).
  • Lisatud režiim security_invoker, mis võimaldab luua vaateid, mis töötavad pigem helistava kasutaja kui vaate loojana.
  • Loogilise replikatsiooni jaoks on realiseeritud ridade filtreerimise ja veergude loendite täpsustamise tugi, mis võimaldab saatja poolel valida replikatsiooniks tabelist andmete alamhulka. Lisaks lihtsustab uus versioon konfliktide haldamist, näiteks on nüüd võimalik vastuolulisi tehinguid vahele jätta ja tõrke tuvastamisel automaatselt tellimus keelata. Loogiline replikatsioon võimaldab kasutada kahefaasilisi ülekandeid (2PC).
  • Lisatud on uus logivorming – jsonlog, mis salvestab info struktureeritud kujul, kasutades JSON-vormingut.
  • Administraatoril on võimalus delegeerida kasutajatele individuaalseid õigusi teatud PostgreSQL-i serveri konfiguratsiooniparameetrite muutmiseks.
  • Psql-i utiliit on lisanud toe seadete (pg_settings) teabe otsimiseks, kasutades käsku “\dconfig”.
  • Jagatud mälu kasutamine on tagatud serveri töö statistika kogumiseks, mis võimaldab vabaneda eraldi statistika kogumise ja perioodilise oleku kettale lähtestamise protsessist.
  • Võimalus kasutada ICU vaikelokaate "ICU Collation" on pakutud; varem sai vaikelokaadina kasutada ainult libc lokaate.
  • Välja on pakutud sisseehitatud laiendus pg_walinspect, mis võimaldab SQL-päringute abil kontrollida WAL-logidega failide sisu.
  • Avaliku skeemi puhul on kõigi kasutajate, välja arvatud andmebaasi omaniku, käsu CREATE täitmise volitused tühistatud.
  • Python 2 tugi on PL/Pythonis eemaldatud. Vananenud eksklusiivne varundusrežiim on eemaldatud.

Täiendus: 19-00 (MSK) toimub veebiseminar, kus arutatakse Pavel Luzanovi (Postgres Professional) muudatusi uues versioonis. Neile, kes ei saa saatega liituda, on avatud Paveli juunikuise raporti “PostgreSQL 20: MERGE and more” salvestus saidil PGConf.Russia.

Allikas: opennet.ru

Lisa kommentaar