PostgreSQL 12 DBMS-i väljalase

Pärast aastast arengut avaldatud PostgreSQL 12 DBMS-i uus stabiilne haru. Uue haru värskendused tuleb välja viieks aastaks kuni 2024. aasta novembrini.

Kõik uuendused:

  • Lisatud tugi: "loodud veerud", mille väärtus arvutatakse avaldise põhjal, mis hõlmab sama tabeli teiste veergude väärtusi (sarnaselt vaadetele, kuid üksikute veergude jaoks). Loodud veerud võivad olla kahte tüüpi - salvestatud ja virtuaalsed. Esimesel juhul arvutatakse väärtus andmete lisamise või muutmise ajal ning teisel juhul arvutatakse väärtus igal lugemisel lähtudes teiste veergude hetkeseisust. Praegu toetab PostgreSQL ainult salvestatud genereeritud veerge;
  • Lisati võimalus JSON-dokumentidest andmeid pärida kasutades Tee väljendid, meenutab XPath ja määratletud SQL/JSON-standardis. Olemasolevaid indekseerimismehhanisme kasutatakse selliste avaldiste töötlemise tõhustamiseks JSONB-vormingus salvestatud dokumentide puhul;
  • Vaikimisi on lubatud LLVM-i arendustel põhineva JIT (Just-in-Time) kompilaatori kasutamine, et kiirendada mõne avaldise täitmist SQL-päringu töötlemise ajal. Näiteks kasutatakse JIT-i WHERE-plokkide, sihtloendite, koondavaldiste ja mõnede sisemiste operatsioonide sees olevate avaldiste täitmise kiirendamiseks;
  • Indekseerimise jõudlus on oluliselt paranenud. B-puu indeksid on optimeeritud töötama keskkondades, kus indeksid muutuvad sageli – TPC-C testid näitavad üldist jõudluse kasvu ja kettaruumi tarbimise keskmist vähenemist 40%. Väiksem üldkulu GiST, GIN ja SP-GiST indeksitüüpide jaoks ettekirjutamise logi (WAL) loomisel. GiST-i jaoks on lisatud võimalus luua ümbrisindekseid (avaldise INCLUDE kaudu), mis sisaldavad täiendavaid veerge. Töökorras LOE STATISTIKA Toetab kõige tavalisema väärtuse (MCV) statistikat, et luua ebaühtlaselt jaotatud veergude kasutamisel optimaalsemaid päringuplaane;
  • Jaotamise rakendus on optimeeritud päringute jaoks, mis hõlmavad tuhandete partitsioonidega tabeleid, kuid piirduvad piiratud andmete alamhulga valimisega. Suurenenud on INSERT- ja COPY-operatsioonide abil sektsioonitud tabelitesse andmete lisamise jõudlus, samuti on võimalik lisada uusi jaotisi läbi “ALTER TABLE ATTACH PARTITION” ilma päringu täitmist blokeerimata;
  • Lisatud on üldistatud tabeliavaldiste automaatse tekstisisese laiendamise tugi (Ühine tabeliavaldis, CTE), mis võimaldavad kasutada WITH-lause abil määratud ajutisi nimega tulemikomplekte. Tekstisisene juurutus võib parandada enamiku päringute toimivust, kuid praegu kasutatakse seda ainult mitterekursiivsete CTE-de jaoks;
  • Lisatud tugi mittedeterministlik Lokaati Collation atribuudid, mis võimaldab määrata sortimisreegleid ja sobitamismeetodeid, võttes arvesse märkide tähendust (näiteks digitaalsete väärtuste sortimisel miinuse ja punkti olemasolu numbri ees ja erinevad tüübid arvesse võetakse õigekirja ja võrdlemisel ei võeta arvesse märkide ja rõhumärgi olemasolu) ;
  • Lisatud mitmefaktorilise kliendi autentimise tugi, mille puhul saate failis pg_hba.conf kombineerida SSL-sertifikaadi autentimist (clientcert=verify-full) täiendava autentimismeetodiga, näiteks scram-sha-256 autentimiseks;
  • Lisatud sidekanali krüptimise tugi kaudu autentimisel Gssapi, nii kliendi kui ka serveri poolel;
  • Lisatud tugi LDAP-serverite määramiseks "DNS SRV" kirjete põhjal, kui PostgreSQL on ehitatud OpenLDAP-iga;
  • Lisatud operatsioon "REINDEKSI KORRAGA» indeksite uuesti ülesehitamiseks ilma registrisse kirjutamist blokeerimata;
  • Lisatud käsk pg_checksums, mis võimaldab lubada või keelata olemasoleva andmebaasi andmelehtede kontrollsummade kontrollimise (varem oli seda toimingut toetatud ainult andmebaasi lähtestamise ajal);
  • Edenemisnäidiku väljund toimingute CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ja pg_checksums jaoks;
  • Lisatud käsk "LOO JUURDEPÄÄSUMEETOD» erinevate konkreetsete ülesannete jaoks optimeeritud uute tabelisalvestusmeetodite töötlejate ühendamiseks. Praegu on ainus sisseehitatud tabelile juurdepääsu meetod "hunnik";
  • Konfiguratsioonifail recovery.conf on liidetud failiga postgresql.conf. Näitajatena üleminekust taastumisseisundisse pärast ebaõnnestumist, nüüd peab olema kasutage faile recovery.signal ja standby.signal.

Allikas: opennet.ru

Lisa kommentaar