Vydání SGBD PostgreSQL 15

Po roce vývoje byla zveřejněna nová stabilní větev databázového systému PostgreSQL 15. Aktualizace pro novou větev budou vycházet po dobu pěti let až do listopadu 2027.

Hlavní novinky:

  • Byla přidána podpora SQL příkazu "MERGE", který připomíná výraz "INSERT … ON CONFLICT". MERGE umožňuje vytvářet podmíněná SQL výrazy, které kombinují v jednom výrazu operace INSERT, UPDATE a DELETE. Například pomocí MERGE lze uspořádat sloučení dvou tabulek tak, že se vloží chybějící záznamy a aktualizují se existující. MERGE INTO customer_account ca USING recent_transactions t ON t.customer_id = ca.customer_id WHEN MATCHED THEN UPDATE SET balance = balance + transaction_value WHEN NOT MATCHED THEN INSERT (customer_id, balance) VALUES (t.customer_id, t.transaction_value);
  • Algoritmy třídění dat v paměti a na disku byly výrazně vylepšeny. V závislosti na typu dat se v testech pozoruje zvýšení rychlosti třídění od 25 % do 400 %.
  • Byla urychlena práce okenních funkcí pomocí row_number(), rank(), dense_rank() a count().
  • Byla implementována možnost paralelního provádění dotazů s výrazem "SELECT DISTINCT".
  • V mechanismu připojení externích tabulek Foreign Data Wrapper (postgres_fdw) byla přidána podpora asynchronních commitů vedle dříve přidané možnosti asynchronního zpracování dotazů na externí servery.
  • Byla přidána možnost aplikovat algoritmy LZ4 a Zstandard (zstd) pro kompresi WAL protokolů transakcí, což při některých zátěžích umožňuje zároveň zvýšit výkon a ušetřit diskový prostor. Pro zkrácení doby obnovy po selhání byla přidána podpora předběžného získávání stránek, které se objevují v WAL protokolu.
  • Do utilitiy pg_basebackup byla přidána podpora komprese souborů s zálohami na straně serveru, pomocí metod gzip, LZ4 nebo zstd. Byla poskytnuta možnost použití vlastních modulů pro archivaci, takže není třeba spouštět shellové příkazy.
  • Byla přidána řada nových funkcí pro zpracování řetězců pomocí regulárních výrazů: regexp_count(), regexp_instr(), regexp_like() a regexp_substr().
  • Do funkce range_agg() byla přidána možnost agregace vícerozměrných typů („multirange“).
  • Byl přidán režim security_invoker, který umožňuje vytvářet pohledy vykonávané s právy volajícího uživatele, nikoli tvůrce pohledu.
  • Podpora logické replikace zahrnuje filtrování řádků a určení seznamů sloupců, což umožňuje odesílateli vybrat podmnožinu dat z tabulky pro replikaci. Nová verze také zjednodušila správu konfliktů; například je nyní možné přeskočit konfliktní transakce a automaticky odpojit předplatné při zjištění chyby. Při logické replikaci je povoleno použití dvoufázových potvrzení (2PC).
  • Byl přidán nový formát protokolů — jsonlog, který ukládá informace ve strukturované podobě pomocí formátu JSON.
  • Správci byla poskytnuta možnost delegovat uživatelům jednotlivá oprávnění pro změnu konkrétních parametrů. konfigurace serveru PostgreSQL.
  • Do utilit psql byla přidána podpora vyhledávání informací o nastaveních (pg_settings) pomocí příkazu „\dconfig“.
  • Bylo zajištěno využití sdílené paměti pro shromažďování statistik o práci serveru, což umožnilo zbavit se samostatného procesu shromažďování statistik a pravidelného ukládání stavu na disk.
  • Byla poskytnuta možnost používat jako výchozí ICU lokalizace „ICU Collation“, dříve mohly být výchozí lokalizace používány pouze libc lokalizace.
  • Byla navržena vestavěná rozšíření pg_walinspect, které umožňuje inspekci obsahu souborů s WAL protokoly pomocí SQL dotazů.
  • Pro schéma public byla všem uživatelům, kromě vlastníka DB, odvolána oprávnění k provedení příkazu CREATE.
  • V PL/Python byla odstraněna podpora Pythonu 2. Byl odstraněn zastaralý exkluzivní režim zálohování („exclusive backup“).

Doplnění: Od 19:00 do 20:00 (MSK) se uskuteční webinář k diskusi změn nové verze s Pavlem Luzanovem (Postgres Professional). Pro ty, kteří se nemohou připojit k přenosu, je k dispozici záznam červnového vystoupení Pavla „PostgreSQL 15: MERGE a nejen to“ na PGConf.Russia.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster