PostgreSQL arendajate rĂŒhm teatas PostgreSQL 12 vĂ€ljaandmisest, mis on uusima versioon rĂ€latsioonilisest andmebaasisĂŒsteemist avatud lĂ€htekoodiga.
PostgreSQL 12-s on oluliselt paranenud pĂ€ringute jĂ”udlus â see kehtib eriti suurte andmemahtude töötlemise puhul, samuti on optimeeritud ĂŒldiselt ketasruumi kasutus.
Uute vÔimaluste seas:
- JSON Path pÀringukeele rakendamine (SQL/JSON standardi oluline osa);
- Ăldiste tabelivĂ€ljendite (WITH) tĂ€itmise optimeerimine;
- Generatsioonisammude tugi;
Kogukond jĂ€tkab PostgreSQL laiendatavuse ja usaldusvÀÀrsuse arendamist, arendades rahvusvahelisuse, autentimisseoste ja sĂŒsteemi haldamise lihtsustamise vĂ”imalusi.
Sellesse vĂ€ljaandesse kuulub rakenduse ĂŒhendatava salvestusmootori liidese rakendamine, mis vĂ”imaldab arendajatel luua oma andmete salvestamise meetodeid.
Tegutsemise parendused
PostgreSQL 12 sisaldab olulisi jĂ”udlusparandusi ja hooldusprotseduure indeksite ja sektsioneerimise sĂŒsteemides.
B-tree indeksid on PostgreSQLi standardne indekseerimise tĂŒĂŒp, mis optimeeriti versioonis 12 sagedaste indeksimuudatustega koormuste jaoks. PostgreSQL 12 jaoks lĂ€biviidud TPC-C standardtest nĂ€itas keskmiselt 40% ruumikasutuse vĂ€henemist ja ĂŒldist pĂ€ringute jĂ”udluse kasvu.
Osakestega tabelitele suunatud pĂ€ringud on saanud mĂ€rkimisvÀÀrseid tĂ€iustusi, eriti tuhandete osadega tabelite puhul, mis eeldavad töötlemist vaid piiratud andmemassiivide osadega. Andmete lisamise jĂ”udlust osakestega tabelitesse koos INSERT ja COPY-iga on parendatud, samuti on nĂŒĂŒd vĂ”imalik lisada uut osa ilma kĂ€imasolevaid pĂ€ringuid blokeerimata.
PostgreSQL 12-s on tehtud tĂ€iendavad tĂ€iustused indekseerimises, mis mĂ”jutavad ĂŒldist jĂ”udlust, sealhulgas:
- WAL-i genereerimise kulude vĂ€henemine GiST, GIN ja SP-GiST indeksitĂŒĂŒpide jaoks;
- vÔimalus luua nn katteindekseid (covering indexes, vÔimalus INCLUDE) GiST-indeksitele;
- vÔimalus teha "lÀhedaste naabrite" (k-NN search) pÀringuid kauguse operaatori (<->) abil ja SP-GiST indeksite kasutamisega;
- toetab kÔige levinumate vÀÀrtuste statistika kogumist (most-common value, MCV) CREATE STATISTICS abil, mis aitab saavutada paremaid pÀringute tÀitmisplaane, kui kasutatakse veerge, mille vÀÀrtused on ebavÔrdselt jaotatud.
JIT-kompileerimine, mis kasutab LLVM-i ja mis ilmus PostgreSQL 11-s, on nĂŒĂŒd vaikimisi sisse lĂŒlitatud. JIT-kompileerimine vĂ”imaldab parandada jĂ”udlust, kui töötatakse WHERE-klausli, sihtloendite, aggregeerimiste ja mĂ”ningate sisemiste operatsioonidega. See on saadaval, kui olete PostgreSQL-i kompileerinud LLVM-iga vĂ”i kasutate PostgreSQL-i paketti, mis on loodud LLVM-i sisselĂŒlitamisega.
SQL keele ja standardiga ĂŒhilduvuse parendused
PostgreSQL 12-s on tekkinud vÔimalus esitada pÀringuid JSON dokumentide kohta SQL/JSON standardses mÀÀratletud JSON teeavaldiste kaudu. Sellised pÀringud saavad kasutada olemasolevaid indekseerimist mehhanisme JSONB formaadis salvestatud dokumentide jaoks, et andmeid tÔhusalt ekstraheerida.
Ăldised tabelivĂ€ljendid, tuntud ka kui WITH-i laused, saavad PostgreSQL 12-s nĂŒĂŒd automaatselt tĂ€ituda asendusega, mis omakorda vĂ”ib aidata suurendada paljude olemasolevate pĂ€ringute jĂ”udlust. Uues versioonis vĂ”ib osa WITH-i pĂ€ringust tĂ€ituda asendusega ainult siis, kui see ei ole rekursiivne, tal ei ole kĂ”rvalmĂ”jusid ning sellega viidatakse ainult ĂŒks kord jĂ€rgmises pĂ€ringu osas.
PostgreSQL 12 toob sisse toetuse 'genereeritud veergude' jaoks. SQL-standardis kirjeldatud see veeru tĂŒĂŒp arvutab vÀÀrtuse, lĂ€htudes teistest veergudest samas tabelis. Selles versioonis toetab PostgreSQL 'salvestatavaid genereeritud veerge', kus arvutatud vÀÀrtus salvestatakse kettale.
Rahvusvaheline teema
PostgreSQL 12 laiendab ICU-vastavuse tuge, vÔimaldades kasutajatel mÀÀratleda 'moodustatud vastavusi', mis nÀiteks vÔimaldavad vÔrdlusi, mis ei arvesta suurtÀhti vÔi aktsente.
Autentimine
PostgreSQL laiendab oma toetust usaldusvÀÀrsetele autentimismeetoditele mitmete tĂ€iustustega, mis pakuvad lisaturvalisust ja funktsionaalsust. KĂ€esolevas versioonis on esitatud klient- ja serveripoolne krĂŒpteerimine autentimiseks GSSAPI liideste kaudu ning PostgreSQL suudab tuvastada serverid LDAP, kui PostgreSQL on kompileeritud koos OpenLDAP-iga.
Lisaks toetab PostgreSQL 12 nĂŒĂŒd mitme faktori autentimise varianti. NĂŒĂŒd saab PostgreSQL server nĂ”uda kliendilt kehtiva SSL-sertifikaadi esitamist vastava kasutajanimega, kasutades clientcert=verify-full, ja kombineerida seda eraldi autentimismeetodi nĂ”udmisega (nt scram-sha-256).
Haldamine
PostgreSQL 12 tutvustab vĂ”imalust teostada mittesĂŒsteemne indekseerimine kĂ€su REINDEX CONCURRENTLY abil. See vĂ”imaldab kasutajatel vĂ€ltida andmebaasi seisakuid pikaajaliste indeksite ĂŒmberkujundamise ajal.
Lisaks on PostgreSQL 12-s vĂ”imalik aktiveerida vĂ”i deaktiveerida lehekĂŒlgede kontrollsummad klastris, mis on vĂ€lja lĂŒlitatud, pg_checksums kĂ€su abil. Varem sai lehekĂŒlgede kontrollsummal â funktsiooni, mis aitab kontrollida andmete terviklikkust, mis on salvestatud kettale â aktiveerida ainult PostgreSQL klastrite initsialiseerimise ajal initdb abil.
Allikas: linux.org.ru
