PostgreSQL 12 DBMS kiadás

Egy év fejlesztés után közzétett a PostgreSQL 12 DBMS új stabil ága Frissítések az új ághoz ki fog jönni öt évre, 2024 novemberéig.

A főbb innovációk:

  • Támogatás hozzáadva a következőhöz: "generált oszlopok", amelynek értékét egy olyan kifejezés alapján számítják ki, amely lefedi ugyanabban a táblázatban lévő többi oszlop értékét (hasonlóan a nézetekhez, de az egyes oszlopokhoz). A generált oszlopok két típusúak lehetnek - tárolt és virtuális. Az első esetben az érték kiszámítása az adatok hozzáadásának vagy módosításának időpontjában történik, a második esetben pedig minden leolvasáskor számítják ki az értéket a többi oszlop aktuális állapota alapján. Jelenleg a PostgreSQL csak a tárolt generált oszlopokat támogatja;
  • Hozzáadtuk a JSON-dokumentumok adatainak lekérdezésének lehetőségét Útvonal kifejezések, emlékeztet XPath és az SQL/JSON szabványban van meghatározva. A meglévő indexelési mechanizmusokat használják az ilyen kifejezések feldolgozásának hatékonyságának javítására a JSONB formátumban tárolt dokumentumok esetében;
  • Alapértelmezés szerint engedélyezve van az LLVM fejlesztéseken alapuló JIT (Just-in-Time) fordító használata, amely felgyorsítja egyes kifejezések végrehajtását az SQL lekérdezés feldolgozása során. Például a JIT a WHERE blokkon belüli kifejezések, céllisták, összesített kifejezések és egyes belső műveletek végrehajtásának felgyorsítására szolgál;
  • Az indexelési teljesítmény jelentősen javult. A B-tree indexek úgy vannak optimalizálva, hogy olyan környezetben működjenek, ahol az indexek gyakran változnak – a TPC-C tesztek általános teljesítménynövekedést és átlagosan 40%-os csökkenést mutatnak a lemezterület felhasználásában. Csökkentett többletköltség az előreírási napló (WAL) generálásakor GiST, GIN és SP-GiST indextípusokhoz. A GiST esetében lehetőség van további oszlopokat tartalmazó burkolóindexek létrehozására (az INCLUDE kifejezésen keresztül). Működésben STATISZTIKÁK LÉTREHOZÁSA A legáltalánosabb érték-statisztikák (MCV) támogatása optimálisabb lekérdezési tervek létrehozását szolgálja egyenetlenül elosztott oszlopok használata esetén.
  • A particionálás megvalósítása olyan lekérdezésekre van optimalizálva, amelyek több ezer partíciót tartalmazó táblákat ölelnek fel, de az adatok korlátozott részhalmazának kiválasztására korlátozódnak. A particionált táblákhoz az INSERT és COPY műveletek segítségével történő adatok hozzáadásának teljesítménye megnőtt, és lehetőség van új szakaszok hozzáadására az „ALTER TABLE AttaCH PARTITION”-on keresztül a lekérdezés végrehajtásának blokkolása nélkül;
  • Támogatás hozzáadva az általánosított táblázatkifejezések automatikus soron belüli bővítéséhez (Közös táblázatos kifejezés, CTE), amelyek lehetővé teszik a WITH utasítással megadott ideiglenes elnevezett eredménykészletek használatát. A soron belüli telepítés javíthatja a legtöbb lekérdezés teljesítményét, de jelenleg csak nem rekurzív CTE-k esetén használják;
  • Hozzáadott támogatás nem determinisztikus a „Colation” területi beállítás tulajdonságai, amely lehetővé teszi rendezési szabályok és illesztési módszerek beállítását a karakterek jelentésének figyelembevételével (például digitális értékek rendezésekor, egy mínusz és egy pont jelenléte egy szám előtt és különböző típusok a helyesírást figyelembe veszik, és az összehasonlításnál a karakterek kis- és nagybetűjét és az ékezetes jel jelenlétét nem veszik figyelembe) ;
  • Hozzáadott támogatás a többtényezős ügyfélhitelesítéshez, amelyben a pg_hba.conf fájlban kombinálhatja az SSL-tanúsítvány-hitelesítést (clientcert=verify-full) egy további hitelesítési módszerrel, például a scram-sha-256 hitelesítéssel;
  • Támogatás hozzáadva a kommunikációs csatorna titkosításához a hitelesítés során GSSAPI, mind a kliens, mind a szerver oldalon;
  • Támogatás hozzáadva az LDAP-kiszolgálók „DNS SRV” rekordok alapján történő meghatározásához, ha a PostgreSQL OpenLDAP-pal épül fel;
  • Hozzáadott művelet "ÚJRAINDEX EGYÜTT» indexek újraépítése az index írási műveleteinek blokkolása nélkül;
  • A csapat hozzátette pg_checksums, amely lehetővé teszi egy meglévő adatbázis adatoldalainak ellenőrzőösszegei ellenőrzésének engedélyezését vagy letiltását (korábban ez a művelet csak az adatbázis inicializálása során volt támogatott);
  • A folyamatjelző kimenete a CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL és pg_checksums műveletekhez;
  • Parancs hozzáadvaHOZZÁFÉRÉSI MÓDSZER LÉTREHOZÁSA» kezelők csatlakoztatásához új, különféle speciális feladatokra optimalizált táblázattárolási módszerekhez. Jelenleg az egyetlen beépített táblaelérési módszer a "halom";
  • A recovery.conf konfigurációs fájl egyesült a postgresql.conf fájllal. A hiba utáni felépülés állapotába való átmenet mutatóiként most kell, hogy legyen használja a recovery.signal és a standby.signal fájlokat.

Forrás: opennet.ru

Hozzászólás