Po roce vývoje bylo oznámeno vydání nové stabilní větve DBMS PostgreSQL 15, Tato verze obsahuje řadu vylepšení, včetně nových možností komprese, které pomáhají s ukládáním a zálohováním dat, vylepšení třídění dat pro rychlejší vyhledávání a nové možnosti protokolování a SQL.
V této nové verzi, která je prezentována, SQL příkaz "MERGE" je zvýrazněn, že umožňuje vytvářet podmíněné SQL příkazy které kombinují operace INSERT, UPDATE a DELETE v jednom příkazu. Například MERGE lze použít ke sloučení dvou tabulek vložením chybějících záznamů a aktualizací stávajících.
Příkaz umožňuje slučování tabulek a činí PostgreSQL kompatibilnějším se systémy pro správu relačních databází založených na SQL Serveru, včetně Microsoft SQL Server a relačního databázového serveru SAP ASE a dalších, které podporují sadu programovacích rozšíření Transact-SQL.
Další změnou, která v této nové verzi vyniká, je výrazně vylepšeny byly algoritmy pro třídění dat v paměti a na disku. V závislosti na typu dat v testech dochází ke zvýšení rychlosti třídění z 25 % na 400 %.
Pro logickou replikaci, je implementována podpora pro filtrování řádků a specifikování seznamů sloupců, který umožňuje na straně odesílatele vybrat podmnožinu dat pro replikaci tabulky. Nová verze má navíc zjednodušenou správu konfliktů, například možnost přeskočit konfliktní transakce a automaticky odpojit předplatné, když je zjištěna chyba. Logická replikace umožňuje použití dvoufázového potvrzení (2PC).
Mechanismus pro připojení externích tabulek Externí datový kontejner (postgres_fdw) implementuje podporu pro asynchronní odevzdání kromě dříve přidané schopnosti zpracovávat požadavky na externí servery asynchronně.
Přidána možnost používat algoritmy LZ4 a Zstandard (zstd) pro komprimaci protokolů transakcí WAL, což může při určité zátěži současně zlepšit výkon a ušetřit místo na disku, a přidána podpora pro aktivní načítání stránek, které se objevují v protokolu transakcí.WAL pro zkrácení doby zotavení po selhání.
To je také zdůrazněno přidáno do obslužného programu pg_basebackup la podpora pro kompresi záložních souborů na straně serveru pomocí metody gzip, LZ4 nebo zstd. K dispozici je možnost používat vlastní moduly pro archivaci, což vám umožní obejít se bez nutnosti spouštět příkazy shellu.
Kromě toho nyní v PostgreSQL 15 využití sdílené paměti bylo zajištěno pro shromažďování statistik o provozu serveru, což umožnilo zbavit se samostatného procesu shromažďování statistik a pravidelného vyplachování stavu na disk.
Z dalších změn, které vyčnívají z nové verze:
- 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() přidána možnost přidat typy s více rozsahy („multi-ranges“).
Přidán režim security_invoker, který umožňuje vytváření pohledů, které běží s právy volajícího uživatele, nikoli tvůrce pohledu. - Byl přidán nový formát protokolu: jsonlog, který ukládá informace strukturovaným způsobem pomocí formátu JSON.
- Správce má možnost delegovat individuální práva uživatelům ke změně určitých konfiguračních parametrů PostgreSQL serveru.
- Byla přidána podpora pro nástroj psql pro vyhledávání informací o nastavení (pg_settings) pomocí příkazu "\dconfig".
- Bylo navrženo vestavěné rozšíření pg_walinspect, které vám umožňuje kontrolovat obsah souborů se záznamy WAL pomocí SQL dotazů.
- Odstraněna podpora Pythonu 2 v PL/Pythonu
- Byl odstraněn zastaralý režim „exkluzivní zálohy“.
- Je implementována možnost paralelního provádění dotazů s výrazem "SELECT DISTINCT".
Nakonec stojí za zmínku aktualizace pro novou pobočku budou vydávány po dobu pěti let do listopadu 2027. Máte-li zájem dozvědět se o ní více, podrobnosti můžete konzultovat v následující odkaz.