Pas një vit zhvillimi, u publikua dega e re stabil e DBMS PostgreSQL 15. Update për degën e re do të publikohen për pesë vjet deri në nëntor 2027.
Novitetet kryesore:
- E shtuar mbështetje për komandën SQL "MERGE", e cila ngjan me shprehjen "INSERT ⊠ON CONFLICT". MERGE lejon krijimin e shprehjeve kushtore SQL, duke bashkuar në një shprehje operacione INSERT, UPDATE dhe DELETE. Për shembull, me ndihmën e MERGE mund të organizoni bashkimin e dy tablove, duke futur regjistrimet e munguar dhe duke 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 për renditjen e të dhënave në memorie dhe në disk janë përmirësuar ndjeshëm. Në varësi të llojit të të dhënave, testet tregojnë rritje të shpejtësisë së renditjes nga 25% deri në 400%.
- Puna e funksioneve dritare ë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 komitetet asinkrone në përputhje me mundësinë e mëparshme të përpunimit asinkron të pyetjeve në serverat e jashtëm.
- ĂshtĂ« shtuar mundĂ«sia e aplikimit tĂ« algoritmeve LZ4 dhe Zstandard (zstd) pĂ«r kompresimin e WAL-loga tĂ« transaksioneve, qĂ« nĂ«n disa ngarkesa lejon rritjen e performancĂ«s dhe kursimin e hapĂ«sirĂ«s nĂ« disk. PĂ«r tĂ« shkurtuar kohĂ«n e rikuperimit pas dĂ«shtimit, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r ekstraktimin paraprak tĂ« faqeve qĂ« figurojnĂ« nĂ« WAL-log.
- NĂ« utilitetin pg_basebackup Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r kompresimin e skedarĂ«ve me kopje rezervĂ« nĂ« anĂ«n serverĂ«, duke pĂ«rdorur metodat gzip, LZ4 ose zstd. ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit tĂ« moduleve tĂ« pronĂ«sishme pĂ«r arkivimin, duke eliminuar nevojĂ«n pĂ«r tĂ« ekzekutuar komandat shell.
- ĂshtĂ« shtuar njĂ« seri funksionesh tĂ« reja pĂ«r pĂ«rpunimin e vargjeve duke pĂ«rdorur shprehje tĂ« rregullta: regexp_count(), regexp_instr(), regexp_like() dhe regexp_substr().
- Në funksionin range_agg() është shtuar mundësia e agregimit të tipeve me shumë intervale ("multirange").
- ĂshtĂ« shtuar moda security_invoker, e cila lejon krijimin e pamjeve qĂ« ekzekutohen me tĂ« drejtat e pĂ«rdoruesit qĂ« thĂ«rret, jo krijuesin e pamjes.
- Për replikimin logjik është realizuar mbështetje për filtrimin e rreshtave dhe për caktimin e listave të kolonave, të cilat lejojnë që në anën e dërguesit të ndahet një nëngrup të dhënash për replikim nga tabela. Për më tepër, në versionin e ri është lehtësuar menaxhimi i konflikteve, për shembull, është shfaqur mundësia e kalimit të transaksioneve konfliktuale dhe shkëputjes automatikë të anëtarësimit në rast të zbulimit të gabimeve. Në replikimin logjik lejohet përdorimi i komiteteve me dy faza (2PC).
- Formati i ri i regjistrimeve - jsonlog, ruan informacionin në një format të strukturuar, duke përdorur formatin JSON.
- Administratori ka mundësinë e delegimit të disa privilegjeve përdoruesve për të ndryshuar parametrat e caktuar. konfigurimit të serverit PostgreSQL.
- Në utilitarin psql është shtuar mbështetje për kërkimin e informacionit mbi cilësimet (pg_settings) përmes komandës «\dconfig».
- ĂshtĂ« siguruar pĂ«rdorimi i memories sĂ« ndarĂ« pĂ«r grumbullimin e statistikave mbi punĂ«n e serverit, qĂ« ka lejuar heqjen e njĂ« procesi tĂ« veçantĂ« pĂ«r mbledhjen e statistikave dhe pĂ«r rifreskimin periudhorr tĂ« gjendjes nĂ« disk.
- ĂshtĂ« ofruar mundĂ«sia e pĂ«rdorimit si standard tĂ« ICU lokalit «ICU Collation», mĂ« parĂ« si standart mund tĂ« pĂ«rdorej vetĂ«m lokalit libc.
- ĂshtĂ« propozuar njĂ« zgjatje e integruar pg_walinspect, e cila lejon inspektimin e pĂ«rmbajtjes sĂ« skedarĂ«ve me log-et WAL pĂ«rmes kĂ«rkesave SQL.
- Për skemën public, të gjithë përdoruesit, përveç pronarit të DB-së, janë hequr privilegjet për ekzekutimin e komandës CREATE.
- NĂ« PL/Python Ă«shtĂ« hequr mbĂ«shtetja pĂ«r Python 2. ĂshtĂ« hequr mĂ«nyra ekskluzive e mbĂ«shtetjes pĂ«r kopje rezervĂ« («exclusive backup»).
Shtesë: Nga ora 19:00 deri në 20:00 (MSK) do të mbahet një webinar-diskutim mbi ndryshimet e versionit të ri me Pavel Luzanov (Postgres Professional). Për ata që nuk do të mund të bashkohen në transmetim, regjistrimi i ligjëratës së qershorit nga Pavel «PostgreSQL 15: MERGE dhe jo vetëm» në PGConf.Russia është i hapur.
Burimi: opennet.ru
