Vydání PostgreSQL 12

Po roce vývoje publikováno nová stabilní větev DBMS PostgreSQL 12. Aktualizace pro novou větev vyjde po dobu pěti let do listopadu 2024.

hlavní inovace:

  • Přidána podpora pro „generované sloupce", jehož hodnota se vypočítá na základě výrazu pokrývajícího hodnoty ostatních sloupců ve stejné tabulce (podobně jako zobrazení, ale pro jednotlivé sloupce). Generované sloupce mohou být dvojího typu – uložené a virtuální. V prvním případě se hodnota vypočítá v okamžiku přidání nebo změny dat a ve druhém případě se hodnota vypočítá při každém čtení na základě aktuálního stavu ostatních sloupců. V současné době PostgreSQL podporuje pouze uložené generované sloupce;
  • Přidána možnost dotazovat se na data z dokumentů JSON pomocí Výrazy cesty, připomínající XPath a definovány ve standardu SQL/JSON. Existující mechanismy indexování se používají ke zlepšení efektivity zpracování takových výrazů pro dokumenty uložené ve formátu JSONB;
  • Ve výchozím nastavení je povoleno použití kompilátoru JIT (Just-in-Time) založeného na vývoji LLVM pro urychlení provádění některých výrazů během zpracování dotazů SQL. JIT se například používá k urychlení provádění výrazů uvnitř bloků WHERE, cílových seznamů, agregačních výrazů a některých interních operací;
  • Výkon indexování se výrazně zlepšil. Indexy B-stromu jsou optimalizovány pro práci v prostředích, kde se indexy často mění – testy TPC-C ukazují celkový nárůst výkonu a průměrné snížení spotřeby místa na disku o 40 %. Snížená režie při generování protokolu s předběžným zápisem (WAL) pro typy indexů GiST, GIN a SP-GiST. Pro GiST byla přidána možnost vytvářet indexy obalu (prostřednictvím výrazu INCLUDE), které obsahují další sloupce. V provozu VYTVOŘIT STATISTIKU Poskytuje podporu pro statistiku nejběžnějších hodnot (MCV) pro generování optimálnějších plánů dotazů při použití nerovnoměrně rozmístěných sloupců;
  • Implementace dělení je optimalizována pro dotazy, které zahrnují tabulky s tisíci oddíly, ale jsou omezeny na výběr omezené podmnožiny dat. Výkon přidávání dat do dělených tabulek pomocí operací INSERT a COPY byl zvýšen a je také možné přidávat nové sekce pomocí „ALTER TABLE ATTACH PARTITION“ bez blokování provádění dotazu;
  • Přidána podpora pro automatické inline rozšíření zobecněných tabulkových výrazů (Společný tabulkový výraz, CTE), které umožňují použití dočasných pojmenovaných sad výsledků zadaných pomocí příkazu WITH. Inline nasazení může zlepšit výkon většiny dotazů, ale v současnosti se používá pouze pro nerekurzivní CTE;
  • Přidána podpora nedeterministický vlastnosti národního prostředí „Collation“, které umožňuje nastavit pravidla řazení a metody porovnávání s ohledem na význam znaků (například při řazení digitálních hodnot přítomnost mínus a tečky před číslem a různé typy pravopis se bere v úvahu a při porovnávání se nebere v úvahu velikost písmen a přítomnost diakritického znaménka);
  • Přidána podpora vícefaktorové autentizace klienta, ve které v pg_hba.conf můžete kombinovat autentizaci pomocí SSL certifikátu (clientcert=verify-full) s další autentizační metodou, jako je scram-sha-256 pro autentizaci;
  • Přidána podpora pro šifrování komunikačního kanálu při ověřování přes GSSAPI, a to jak na straně klienta, tak na straně serveru;
  • Přidána podpora pro určování serverů LDAP na základě záznamů „DNS SRV“, pokud je PostgreSQL sestaven s OpenLDAP;
  • Přidána operace "REINDEXUJTE SOUČASNĚ» znovu sestavit indexy bez blokování operací zápisu do indexu;
  • Tým přidán pg_checksums, který umožňuje povolit nebo zakázat kontrolu kontrolních součtů datových stránek pro existující databázi (dříve byla tato operace podporována pouze při inicializaci databáze);
  • Poskytnutý výstup indikátoru průběhu pro operace CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL a pg_checksums;
  • Přidán příkaz "VYTVOŘTE ZPŮSOB PŘÍSTUPU» pro připojení ovladačů pro nové metody ukládání tabulek optimalizované pro různé specifické úkoly. V současnosti je jedinou vestavěnou metodou přístupu k tabulce "hromada";
  • Konfigurační soubor recovery.conf byl sloučen s postgresql.conf. Jako indikátory přechodu do stavu zotavení po selhání nyní by použijte soubory recovery.signal a standby.signal.

Zdroj: opennet.ru

Přidat komentář