Pas një viti zhvillimi, është publikuar një degë e re stabile e DBMS PostgreSQL 15. përditësimet për këtë degë do të dalin për pesë vjet deri në nëntor 2027.
TĂ« rejat kryesore:
- Shtimi i suportit për komandën SQL «MERGE», që i ngjan shprehjes «INSERT ⊠ON CONFLICT». MERGE lejon krijimin e shprehjeve SQL të kushtëzuara, duke bashkuar operacionet INSERT, UPDATE dhe DELETE në një shprehje. Për shembull, me MERGE mund të organizohet bashkimi i dy tabelave, duke futur shënimet e munguar dhe përditësuar ato ekzistuese. 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);
- Algoritmet e renditjes së të dhënave në memorie dhe disk janë përmirësuar ndjeshëm. Në varësi të llojit të të dhënave, në testime vërehet një rritje e shpejtësisë së renditjes nga 25% deri në 400%.
- Puna e funksioneve ndihmëse është përshpejtuar duke përdorur row_number(), rank(), dense_rank() dhe count().
- ĂshtĂ« realizuar mundĂ«sia e ekzekutimit paralel tĂ« pyetjeve me shprehjen «SELECT DISTINCT».
- Në mekanizmin e lidhjes së tabelave të jashtme Foreign Data Wrapper (postgres_fdw) është realizuar mbështetje për angazhimet asinkrone, përveç mundësisë së mëparshme për përpunimin asinkron të kërkesave ndaj serverëve të jashtëm.
- ĂshtĂ« shtuar mundĂ«sia e aplikimit tĂ« algoritmeve LZ4 dhe Zstandard (zstd) pĂ«r kompresimin e regjistrave WAL tĂ« transaksioneve, tĂ« cilat nĂ«n disa ngarkesa lejojnĂ« tĂ« rritet njĂ«kohĂ«sisht performanca dhe tĂ« kursehet hapĂ«sira nĂ« disk. PĂ«r tĂ« shkurtuar kohĂ«n e rikuperimit pas njĂ« dĂ«shtimi, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r nxjerrjen e parashikueshme tĂ« faqeve qĂ« figurojnĂ« nĂ« regjistrin WAL.
- NĂ« utilitarin pg_basebackup Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kompresimin e skedarĂ«ve me kopje rezervĂ« nga ana server, duke pĂ«rdorur metodat gzip, LZ4 ose zstd. ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit tĂ« moduleve tĂ« personalizuara pĂ«r arkivimin, duke lejuar tĂ« Hiqni nevojĂ«n pĂ«r ekzekutimin e komandave shell.
- ĂshtĂ« shtuar njĂ« seri funksionesh tĂ« reja pĂ«r pĂ«rpunimin e rreshtave duke pĂ«rdorur shprehje tĂ« rregullta: regexp_count(), regexp_instr(), regexp_like() dhe regexp_substr().
- Në funksionin range_agg() është shtuar mundësia e agregatimit të tipeve më shumë se dy intervale («multirange»).
- Shtimi i mënyrës security_invoker, e cila lejon krijimin e pamjeve që ekzekutohen me të drejtat e përdoruesit që thërret, jo të krijuesit të pamjes.
- Për replikimin logjik është implementuar përkrahja për filtrimin e rreshtave dhe caktimin e listave të kolonave, të cilat lejojnë dërguesit të përzgjedhin një nëngrup të të dhënave për replikim nga tabela. Për më tepër, versioni i ri thjeshton menaxhimin e konflikteve, për shembull, ka mundësinë për të anashkaluar transaksionet në konflikt dhe për të çaktivizuar automatikisht abonimin kur identifikohet një gabim. Në replikimin logjik, lejohet përdorimi i komiteteve me dy faza (2PC).
- Shtimi i formatit tĂ« ri tĂ« tĂ« dhĂ«nave â jsonlog, qĂ« ruan informacionin nĂ« formĂ« strukturuar duke pĂ«rdorur formatin JSON.
- Administratori ka mundësinë të delegojë përdoruesve disa të drejta për të ndryshuar parametra të caktuar. konfigurimin e serverit PostgreSQL.
- Në utilitarin psql është shtuar përkrahja për kërkimin e informacionit rreth konfigurimeve (pg_settings) përmes komandës "\dconfig".
- ĂshtĂ« siguruar pĂ«rdorimi i memories sĂ« ndarĂ« pĂ«r grumbullimin e statistikave tĂ« funksionimit tĂ« serverit, gjĂ« qĂ« lehtĂ«soi eliminimin e njĂ« procesi tĂ« veçantĂ« pĂ«r grumbullimin e statistikave dhe pĂ«rmbledhjen periodike tĂ« gjendjes nĂ« disk.
- Shtuar mundësia e përdorimit të locale-ve të ICU "ICU Collation" si për default, më parë si locale për default mund të përdorej vetëm locale libc.
- E propozuar zgjerimi i integruar pg_walinspect, që lejon inspektimin e përmbajtjes së skedarëve me WAL-loguet përmes kërkesave SQL.
- Për skemën public, të gjithë përdoruesit, përveç pronarit të DB, janë revokuar autorizimet për ekzekutimin e komandës CREATE.
- NĂ« PL/Python Ă«shtĂ« hequr mbĂ«shtetje pĂ«r Python 2. ĂshtĂ« hequr mĂ«nyra e rezervĂ«s ekskluzive "exclusive backup" e vjetĂ«ruar.
Shtesë: Nga ora 19:00 deri në 20:00 (MSK) do të zhvillohet një webinar-discutim mbi ndryshimet e versionit të ri me Pavel Luzanov (Postgres Professional). Për ata që nuk mund të bashkohen me transmetimin, është e hapur një regjistrim i prezantimit të qershorit të Pavel "PostgreSQL 15: MERGE dhe jo vetëm" në PGConf.Russia.
Burimi: opennet.ru
