Izdaja DBMS PostgreSQL 12

Po letu razvoja objavljeno nova stabilna veja DBMS PostgreSQL 12. Posodobitve za novo vejo bo prišel ven za pet let do novembra 2024.

Glavni inovacije:

  • Dodana podpora za "ustvarjenih stolpcev«, katerega vrednost je izračunana na podlagi izraza, ki pokriva vrednosti drugih stolpcev v isti tabeli (podobno kot pogledi, vendar za posamezne stolpce). Ustvarjeni stolpci so lahko dveh vrst - shranjeni in navidezni. V prvem primeru se vrednost izračuna ob dodajanju ali spreminjanju podatkov, v drugem primeru pa se vrednost izračuna ob vsakem branju glede na trenutno stanje drugih stolpcev. Trenutno PostgreSQL podpira samo shranjene generirane stolpce;
  • Dodana možnost poizvedovanja podatkov iz dokumentov JSON z uporabo Izrazi poti, spominja XPath in definiran v standardu SQL/JSON. Obstoječi mehanizmi indeksiranja se uporabljajo za izboljšanje učinkovitosti obdelave takih izrazov za dokumente, shranjene v formatu JSONB;
  • Privzeto je omogočena uporaba prevajalnika JIT (Just-in-Time), ki temelji na razvoju LLVM za pospešitev izvajanja nekaterih izrazov med obdelavo poizvedbe SQL. JIT se na primer uporablja za pospešitev izvajanja izrazov znotraj blokov WHERE, ciljnih seznamov, agregatnih izrazov in nekaterih notranjih operacij;
  • Učinkovitost indeksiranja je bila bistveno izboljšana. Indeksi B-dreves so optimizirani za delo v okoljih, kjer se indeksi pogosto spreminjajo – testi TPC-C kažejo splošno povečanje zmogljivosti in povprečno zmanjšanje porabe prostora na disku za 40 %. Zmanjšani stroški pri ustvarjanju dnevnika vnaprejšnjega pisanja (WAL) za vrste indeksov GiST, GIN in SP-GiST. Za GiST je bila dodana možnost ustvarjanja ovojnih indeksov (prek izraza INCLUDE), ki vključujejo dodatne stolpce. V operaciji USTVARI STATISTIKO Podpora za statistiko najpogostejših vrednosti (MCV) je na voljo za pomoč pri ustvarjanju optimalnejših načrtov poizvedb pri uporabi neenakomerno porazdeljenih stolpcev.
  • Implementacija particioniranja je optimizirana za poizvedbe, ki zajemajo tabele s tisočimi particijami, vendar so omejene na izbiro omejene podnabora podatkov. Zmogljivost dodajanja podatkov v particionirane tabele z uporabo operacij INSERT in COPY je bila povečana, prav tako pa je mogoče dodati nove odseke prek »ALTER TABLE ATTACH PARTITION«, ne da bi blokirali izvajanje poizvedbe;
  • Dodana podpora za samodejno vgrajeno razširitev posplošenih tabelnih izrazov (Izraz skupne tabele, CTE), ki omogočajo uporabo začasnih poimenovanih nizov rezultatov, podanih s stavkom WITH. Vgrajena uvedba lahko izboljša učinkovitost večine poizvedb, vendar se trenutno uporablja samo za nerekurzivne CTE;
  • Dodana podpora nedeterministični lastnosti področne nastavitve »Collation«, ki vam omogoča, da nastavite pravila razvrščanja in metode ujemanja ob upoštevanju pomena znakov (na primer pri razvrščanju digitalnih vrednosti, prisotnost minusa in pike pred številko in različne vrste upoštevajo se pravopis, pri primerjavi pa se ne upoštevajo veliki in mali črke in prisotnost naglasnega znamenja) ;
  • Dodana podpora za večfaktorsko avtentikacijo odjemalca, pri kateri lahko v pg_hba.conf združite avtentikacijo potrdila SSL (clientcert=verify-full) z dodatno metodo avtentikacije, kot je scram-sha-256 za avtentikacijo;
  • Dodana podpora za šifriranje komunikacijskega kanala pri avtentikaciji prek GSSAPI, tako na strani odjemalca kot na strani strežnika;
  • Dodana podpora za določanje strežnikov LDAP na podlagi zapisov »DNS SRV«, če je PostgreSQL zgrajen z OpenLDAP;
  • Dodana operacija "PONOVNO INDEKSIRANJE SOČASNO» za ponovno izgradnjo indeksov brez blokiranja zapisovalnih operacij v indeks;
  • Dodan ukaz pg_kontrolne vsote, ki vam omogoča, da omogočite ali onemogočite preverjanje kontrolnih vsot podatkovnih strani za obstoječo zbirko podatkov (prej je bila ta operacija podprta samo med inicializacijo baze podatkov);
  • Zagotovljen izhod indikatorja napredka za operacije CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL in pg_checksums;
  • Dodan ukaz "USTVARI NAČIN DOSTOPA» za povezovanje upravljavcev za nove metode shranjevanja tabel, optimizirane za različne posebne naloge. Trenutno je edina vgrajena metoda dostopa do tabele "kopica";
  • Konfiguracijska datoteka recovery.conf je bila združena s postgresql.conf. Kot indikatorji prehoda v stanje okrevanja po neuspehu, zdaj mora biti uporabite datoteki recovery.signal in standby.signal.

Vir: opennet.ru

Dodaj komentar