Izdaja DBMS PostgreSQL 15

Po enem letu razvoja je bila objavljena nova stabilna veja DBMS PostgreSQL 15. Posodobitve za novo vejo bodo izdane v petih letih do novembra 2027.

Glavne novosti:

  • Dodana podpora za ukaz SQL "MERGE", ki je podoben izrazu "INSERT ... ON CONFLICT". MERGE vam omogoča ustvarjanje pogojnih stavkov SQL, ki združujejo operacije INSERT, UPDATE in DELETE v en izraz. Z uporabo MERGE lahko na primer združite dve tabeli tako, da vstavite manjkajoče zapise in posodobite obstoječe. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id WEN MATCH THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);
  • Algoritmi za razvrščanje podatkov v pomnilniku in na disku so bili bistveno izboljšani. Odvisno od vrste podatkov testi kažejo povečanje hitrosti razvrščanja od 25 % do 400 %.
  • Okenske funkcije, ki uporabljajo row_number(), rank(), dense_rank() in count(), so bile pospešene.
  • Implementirana je možnost vzporednega izvajanja poizvedb z izrazom “SELECT DISTINCT”.
  • Mehanizem za povezovanje zunanjih tabel Foreign Data Wrapper (postgres_fdw) izvaja podporo za asinhrone objave poleg predhodno dodane zmožnosti asinhrone obdelave zahtev zunanjim strežnikom.
  • Dodana možnost uporabe algoritmov LZ4 in Zstandard (zstd) za stiskanje dnevnikov transakcij WAL, ki lahko pri nekaterih delovnih obremenitvah hkrati izboljšajo zmogljivost in prihranijo prostor na disku. Za skrajšanje časa obnovitve po napaki je bila dodana podpora za proaktivno pridobivanje strani, ki se pojavljajo v dnevniku WAL.
  • Pripomoček pg_basebackup je dodal podporo za stiskanje datotek varnostne kopije na strani strežnika z metodami gzip, LZ4 ali zstd. Za arhiviranje lahko uporabite lastne module, kar vam omogoča, da ne izvajate ukazov lupine.
  • Dodana je vrsta novih funkcij za obdelavo nizov z uporabo regularnih izrazov: regexp_count(), regexp_instr(), regexp_like() in regexp_substr().
  • Funkciji range_agg() je bila dodana možnost združevanja tipov z več razponi (»multirange«).
  • Dodan način security_invoker, ki vam omogoča ustvarjanje pogledov, ki se izvajajo kot klicni uporabnik in ne ustvarjalec pogleda.
  • Za logično podvajanje je bila implementirana podpora za filtriranje vrstic in določanje seznamov stolpcev, kar na strani pošiljatelja omogoča izbiro podmnožice podatkov iz tabele za podvajanje. Poleg tega nova različica poenostavlja upravljanje konfliktov, na primer, zdaj je mogoče preskočiti konfliktne transakcije in samodejno onemogočiti naročnino, ko je zaznana napaka. Logično podvajanje omogoča uporabo dvofaznih potrditev (2PC).
  • Dodana je nova oblika dnevnika - jsonlog, ki shranjuje podatke v strukturirani obliki z uporabo zapisa JSON.
  • Skrbnik ima možnost dodeliti posamezne pravice uporabnikom za spreminjanje določenih konfiguracijskih parametrov strežnika PostgreSQL.
  • Pripomoček psql je dodal podporo za iskanje informacij o nastavitvah (pg_settings) z uporabo ukaza “\dconfig”.
  • Za zbiranje statistike o delovanju strežnika je zagotovljena uporaba skupnega pomnilnika, s čimer se je mogoče znebiti ločenega procesa zbiranja statistike in periodičnega ponastavljanja stanja na disk.
  • Zagotovljena je bila možnost uporabe privzetih področnih nastavitev ICU »ICU Collation«; prej so se kot privzete področne nastavitve lahko uporabljale samo področne nastavitve libc.
  • Predlagana je bila vgrajena razširitev pg_walinspect, ki omogoča pregledovanje vsebine datotek z dnevniki WAL s poizvedbami SQL.
  • Za javno shemo je bilo vsem uporabnikom, razen lastniku baze podatkov, preklicano pooblastilo za izvajanje ukaza CREATE.
  • V PL/Python je bila odstranjena podpora za Python 2. Zastareli ekskluzivni način varnostnega kopiranja je bil odstranjen.

Dodatek: od 19 do 00 (MSK) bo potekal spletni seminar o spremembah v novi različici s Pavlom Luzanovim (Postgres Professional). Za tiste, ki se ne morete pridružiti oddaji, je odprto snemanje Pavlovega junijskega poročila “PostgreSQL 20: MERGE in več” na PGConf.Russia.

Vir: opennet.ru

Dodaj komentar