PostgreSQL 15 DBMS kiadás

Egy évnyi fejlesztés után megjelent a PostgreSQL 15 DBMS új stabil ága. Az új ághoz tartozó frissítések öt éven keresztül, 2027 novemberéig jelennek meg.

Főbb újítások:

  • Hozzáadott támogatás a "MERGE" SQL parancshoz, amely hasonlít az "INSERT ... ON CONFLICT" kifejezésre. A MERGE lehetővé teszi feltételes SQL utasítások létrehozását, amelyek az INSERT, UPDATE és DELETE műveleteket egyetlen kifejezésben egyesítik. Például az MERGE használatával összevonhat két táblát a hiányzó rekordok beszúrásával és a meglévők frissítésével. BEVEZETÉS AZ Ügyfélfiókba ca legutóbbi_tranzakciók HASZNÁLATÁVAL t ON t.customer_id = ca.customer_id WHEN MATCHED, THEN FRISSÍTÉS BEÁLLÍTÁSA egyenleg = egyenleg + tranzakció_értéke WHEN NEM egyezik, akkor illessze be (ügyfélazonosító, egyenleg) ÉRTÉKEKET (t.customer_id, te.transaction_id, te.
  • A memóriában és a lemezen lévő adatok rendezésére szolgáló algoritmusok jelentősen javultak. Az adatok típusától függően a tesztek 25%-ról 400%-ra növelik a válogatási sebességet.
  • A row_number(), rank(), dense_rank() és count() függvényeket használó ablakfüggvények felgyorsultak.
  • Megvalósult a „SELECT DISTINCT” kifejezéssel végzett lekérdezések párhuzamos végrehajtásának lehetősége.
  • A külső táblák összekapcsolásának mechanizmusa A Foreign Data Wrapper (postgres_fdw) az aszinkron véglegesítések támogatását valósítja meg, amellett, hogy a korábban hozzáadott képességet a külső kiszolgálókhoz intézett kérelmek aszinkron feldolgozására használja.
  • Hozzáadtuk az LZ4 és Zstandard (zstd) algoritmusok használatát a WAL-tranzakciós naplók tömörítéséhez, amelyek bizonyos munkaterhelések mellett egyszerre javíthatják a teljesítményt és megtakaríthatják a lemezterületet. A hiba utáni helyreállítási idő csökkentése érdekében a WAL-naplóban megjelenő oldalak proaktív visszakeresésének támogatása hozzáadásra került.
  • A pg_basebackup segédprogram támogatja a biztonsági mentési fájlok szerveroldali tömörítését a gzip, LZ4 vagy zstd metódusokkal. Lehetőség van saját modulok archiválására is, így nem kell shell parancsokat futtatnia.
  • Egy sor új függvény került hozzáadásra a karakterláncok reguláris kifejezésekkel történő feldolgozásához: regexp_count(), regexp_instr(), regexp_like() és regexp_substr().
  • A range_agg() függvényhez hozzáadták a többtartományú típusok ("multirange") összesítésének lehetőségét.
  • Hozzáadott security_invoker mód, amely lehetővé teszi olyan nézetek létrehozását, amelyek a hívó felhasználóként futnak, nem pedig a nézet létrehozójaként.
  • A logikai replikációhoz a sorok szűrésének és az oszloplisták megadásának támogatása megtörtént, lehetővé téve a küldő oldalon, hogy kiválasszon egy adathalmazt a táblából a replikációhoz. Emellett az új verzió leegyszerűsíti a konfliktuskezelést is, így például már lehetőség nyílik az ütköző tranzakciók kihagyására, és hiba észlelésekor automatikusan letiltható az előfizetés. A logikai replikáció lehetővé teszi a kétfázisú véglegesítés (2PC) használatát.
  • Új naplóformátum került hozzáadásra - a jsonlog, amely strukturált formában menti az információkat JSON formátum használatával.
  • Az adminisztrátornak lehetősége van egyéni jogokat delegálni a felhasználókra bizonyos PostgreSQL-kiszolgáló konfigurációs paramétereinek módosításához.
  • A psql segédprogram támogatja a beállításokkal kapcsolatos információk (pg_settings) keresését a „\dconfig” paranccsal.
  • A megosztott memória használata biztosított a szerver működéséről szóló statisztikák felhalmozására, ami lehetővé teszi, hogy megszabaduljon a statisztikai adatok gyűjtésének és az állapot lemezre történő időszakos visszaállításának külön folyamatától.
  • Lehetőség van az alapértelmezett ICU területi beállítások „ICU Collation” használatára; korábban csak a libc területi beállításokat lehetett alapértelmezett területként használni.
  • Javasolták a beépített pg_walinspect kiterjesztést, amely lehetővé teszi a WAL-naplókkal rendelkező fájlok tartalmának ellenőrzését SQL lekérdezések segítségével.
  • A nyilvános séma esetében az adatbázis-tulajdonos kivételével minden felhasználó jogosultságát visszavonták a CREATE parancs végrehajtására.
  • A Python 2 támogatása megszűnt a PL/Pythonban, az elavult exkluzív biztonsági mentési mód pedig megszűnt.

Kiegészítés: 19:00 és 20:00 között (MSK) webináriumot tartanak, amely az új verzió változásait tárgyalja Pavel Luzanovval (Postgres Professional). Azok számára, akik nem tudnak csatlakozni az adáshoz, a PGConf.Russia-nál elérhető Pavel júniusi „PostgreSQL 15: MERGE and more” című jelentésének felvétele.

Forrás: opennet.ru

Hozzászólás