Vydanie PostgreSQL 12 DBMS

Po roku vývoja publikovaný nová stabilná vetva DBMS PostgreSQL 12. Aktualizácie pre novú vetvu vyjde na päť rokov do novembra 2024.

Hlavné inovácie:

  • Pridaná podpora pre „generované stĺpce“, ktorého hodnota sa vypočíta na základe výrazu pokrývajúceho hodnoty iných stĺpcov v tej istej tabuľke (podobne ako zobrazenia, ale pre jednotlivé stĺpce). Generované stĺpce môžu byť dvoch typov – uložené a virtuálne. V prvom prípade sa hodnota vypočíta v čase pridania alebo zmeny údajov a v druhom prípade sa hodnota vypočíta pri každom čítaní na základe aktuálneho stavu ostatných stĺpcov. V súčasnosti PostgreSQL podporuje iba uložené vygenerované stĺpce;
  • Pridaná možnosť dotazovania údajov z dokumentov JSON pomocou Výrazy cesty, pripomínajúce XPath a definované v štandarde SQL/JSON. Existujúce mechanizmy indexovania sa používajú na zlepšenie efektívnosti spracovania takýchto výrazov pre dokumenty uložené vo formáte JSONB;
  • Štandardne je povolené použitie JIT (Just-in-Time) kompilátora založeného na vývoji LLVM na urýchlenie vykonávania niektorých výrazov počas spracovania SQL dotazu. JIT sa napríklad používa na urýchlenie vykonávania výrazov vo vnútri blokov WHERE, cieľových zoznamov, agregovaných výrazov a niektorých interných operácií;
  • Výkon indexovania sa výrazne zlepšil. Indexy B-stromu sú optimalizované na prácu v prostrediach, kde sa indexy často menia – testy TPC-C ukazujú celkové zvýšenie výkonu a priemerné zníženie spotreby miesta na disku o 40 %. Znížená réžia pri generovaní záznamu vopred určeného pre zápis (WAL) pre typy indexov GiST, GIN a SP-GiST. Pre GiST bola pridaná možnosť vytvárať indexy obalu (prostredníctvom výrazu INCLUDE), ktoré obsahujú ďalšie stĺpce. V prevádzke VYTVORIŤ ŠTATISTIKU Poskytuje podporu pre štatistiku najbežnejších hodnôt (MCV) na generovanie optimálnejších plánov dotazov pri použití nerovnomerne rozmiestnených stĺpcov;
  • Implementácia rozdelenia na oddiely je optimalizovaná pre dotazy, ktoré zahŕňajú tabuľky s tisíckami oddielov, ale sú obmedzené na výber obmedzenej podmnožiny údajov. Zvýšil sa výkon pridávania údajov do rozdelených tabuliek pomocou operácií INSERT a COPY a je tiež možné pridávať nové sekcie pomocou „ALTER TABLE ATTACH PARTITION“ bez blokovania vykonávania dotazu;
  • Pridaná podpora pre automatickú inline expanziu zovšeobecnených tabuľkových výrazov (Bežný tabuľkový výraz, CTE), ktoré umožňujú použitie dočasných pomenovaných skupín výsledkov špecifikovaných pomocou príkazu WITH. Inline nasadenie môže zlepšiť výkon väčšiny dopytov, ale v súčasnosti sa používa iba pre nerekurzívne CTE;
  • Pridaná podpora nedeterministický vlastnosti miestneho nastavenia „Collation“, ktoré vám umožňuje nastaviť pravidlá triedenia a metódy zhody zohľadňujúce význam znakov (napríklad pri triedení digitálnych hodnôt prítomnosť mínus a bodky pred číslom a rôzne typy pravopis sa zohľadňuje a pri porovnávaní sa nezohľadňuje veľkosť písmen a prítomnosť diakritického znamienka);
  • Pridaná podpora pre viacfaktorovú autentifikáciu klienta, v ktorej v pg_hba.conf môžete kombinovať autentifikáciu SSL certifikátom (clientcert=verify-full) s dodatočnou autentifikačnou metódou, ako je scram-sha-256 pre autentifikáciu;
  • Pridaná podpora pre šifrovanie komunikačného kanála pri autentifikácii cez GSSAPIna strane klienta aj na strane servera;
  • Pridaná podpora pre určovanie serverov LDAP na základe záznamov „DNS SRV“, ak je PostgreSQL vytvorený s OpenLDAP;
  • Pridaná operácia "REINDEXUJTE SÚČASNE» prestavať indexy bez blokovania operácií zápisu do indexu;
  • Tím sa pridal pg_checksums, ktorý umožňuje povoliť alebo zakázať kontrolu kontrolných súčtov dátových stránok pre existujúcu databázu (predtým bola táto operácia podporovaná iba počas inicializácie databázy);
  • Poskytnutý výstup indikátora priebehu pre operácie CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL a pg_checksums;
  • Pridaný príkaz "VYTVORIŤ PRÍSTUPOVÚ METÓDU» na pripojenie manipulátorov pre nové metódy ukladania tabuliek optimalizované pre rôzne špecifické úlohy. V súčasnosti je jedinou vstavanou metódou prístupu k tabuľke "hromada";
  • Konfiguračný súbor recovery.conf bol zlúčený s postgresql.conf. Ako indikátory prechodu do stavu zotavenia po zlyhaní, teraz musí byť použite súbory recovery.signal a standby.signal.

Zdroj: opennet.ru

Pridať komentár