Pas një viti zhvillimi, është publikuar një degë e re e qëndrueshme e PostgreSQL 15 DBMS. Përditësimet për degën e re do të publikohen gjatë pesë viteve deri në nëntor 2027.
Risitë kryesore:
- Shtuar mbështetje për komandën MERGE SQL, e cila është e ngjashme me deklaratën INSERT ⊠ON CONFLICT. MERGE ju lejon të krijoni deklarata SQL me kusht që kombinojnë operacionet INSERT, UPDATE dhe DELETE në një deklaratë të vetme. Për shembull, mund të përdorni MERGE për të bashkuar dy tabela, duke futur të dhëna që mungojnë 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 e renditjes së të dhënave si në memorie ashtu edhe në disk janë përmirësuar ndjeshëm. Në varësi të llojit të të dhënave, testet kanë treguar një rritje prej 25% deri në 400% në shpejtësinë e renditjes.
- Shpejtoni funksionet e dritares duke përdorur row_number(), rank(), dense_rank() dhe count().
- ĂshtĂ« zbatuar mundĂ«sia pĂ«r tĂ« ekzekutuar pyetje paralelisht me shprehjen "SELECT DISTINCT".
- Mekanizmi i Mbështjellësit të të Dhënave të Jashtme (postgres_fdw) për lidhjen e tabelave të jashtme tani mbështet kryerjet asinkrone, përveç aftësisë së shtuar më parë për të përpunuar në mënyrë asinkrone kërkesat drejtuar serverëve të jashtëm.
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« pĂ«rdorur algoritmet LZ4 dhe Zstandard (zstd) pĂ«r kompresimin e transaksioneve WAL, tĂ« cilat mund tĂ« pĂ«rmirĂ«sojnĂ« njĂ«kohĂ«sisht performancĂ«n dhe tĂ« kursejnĂ« hapĂ«sirĂ« âânĂ« disk nĂ«n ngarkesa tĂ« caktuara pune. PĂ«r tĂ« zvogĂ«luar kohĂ«n e rikuperimit nga rrĂ«zimet, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r rikthimin paraprak tĂ« faqeve qĂ« shfaqen nĂ« WAL.
- Mbështetja për kompresimin e skedarëve rezervë në serverin e jashtëm është shtuar në programin pg_basebackup. server, duke përdorur metodat gzip, LZ4 ose zstd. Tani është e disponueshme mundësia për të përdorur module arkivimi të personalizuara, duke eliminuar nevojën për të ekzekutuar komanda shell.
- U shtua 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().
- Funksioni range_agg() është përditësuar për të mbështetur agregimin e llojeve shumërangesh.
- U shtua modaliteti security_invoker, i cili lejon krijimin e pamjeve që ekzekutohen me privilegjet e përdoruesit thirrës në vend të krijuesit të pamjes.
- Replikimi logjik tani mbështet filtrimin e rreshtave dhe listat e kolonave, duke i lejuar dërguesit të zgjedhë një nëngrup të të dhënave të tabelës për replikim. Për më tepër, versioni i ri thjeshton menaxhimin e konflikteve, duke përfshirë mundësinë për të anashkaluar transaksionet konfliktuale dhe për të çaktivizuar automatikisht abonimet kur zbulohet një gabim. Replikimi logjik tani mbështet kryerjet dyfazore (2PC).
- ĂshtĂ« shtuar njĂ« format i ri regjistri - jsonlog, i cili ruan informacionin nĂ« njĂ« formĂ« tĂ« strukturuar duke pĂ«rdorur formatin JSON.
- Administratorit i është dhënë mundësia t'u delegojë përdoruesve leje individuale për të ndryshuar parametra të caktuar. konfigurimet e serverit PostgreSQL.
- Programi psql tani mbështet kërkimin e informacionit të cilësimeve (pg_settings) duke përdorur komandën "\dconfig".
- ĂshtĂ« siguruar pĂ«rdorimi i memories sĂ« pĂ«rbashkĂ«t pĂ«r grumbullimin e statistikave tĂ« funksionimit tĂ« serverit, duke eliminuar nevojĂ«n pĂ«r njĂ« proces tĂ« veçantĂ« mbledhjeje statistikash dhe hedhje periodike tĂ« gjendjes nĂ« disk.
- ĂshtĂ« prezantuar mundĂ«sia pĂ«r tĂ« pĂ«rdorur cilĂ«simet lokale "ICU Collation" tĂ« ICU-sĂ« si parazgjedhje; mĂ« parĂ«, vetĂ«m cilĂ«simet lokale tĂ« libc mund tĂ« pĂ«rdoreshin si cilĂ«simet lokale parazgjedhje.
- ĂshtĂ« propozuar njĂ« zgjerim i integruar pg_walinspect, i cili lejon inspektimin e pĂ«rmbajtjes sĂ« skedarĂ«ve tĂ« regjistrit WAL duke pĂ«rdorur pyetje SQL.
- Për skemën publike, të gjithë përdoruesve përveç pronarit të bazës së të dhënave u janë revokuar lejet për të ekzekutuar komandën CREATE.
- PL/Python ka hequr mbështetjen për Python 2. Modaliteti i vjetëruar "kopje rezervë ekskluzive" është hequr.
Përditësim: Nga ora 19:00 deri në 20:00 (MSK), do të mbahet një webinar me Pavel Luzanov (Profesional i Postgres). Për ata që nuk mund të bashkohen në transmetimin e drejtpërdrejtë, një regjistrim i fjalimit të Pavel në qershor, "PostgreSQL 15: MERGE dhe më tej", në PGConf.Russia është i disponueshëm.
Burimi: opennet.ru
