PostgreSQL 12 bertsioa

PostgreSQL taldeak PostgreSQL 12 kaleratzea iragarri du, kode irekiko datu-base erlazionalak kudeatzeko sistemaren azken bertsioa.
PostgreSQL 12-k kontsulten errendimendua nabarmen hobetu du, batez ere datu-bolumen handiekin lan egiten denean, eta, oro har, diskoko espazioaren erabilera ere optimizatu du.

Ezaugarri berrien artean daude:

  • JSON Path kontsulta-lengoaia ezartzea (SQL/JSON estandarraren zatirik garrantzitsuena);
  • Taula-adierazpen arrunten exekuzioaren optimizazioa (WITH);
  • sortutako zutabeentzako euskarria

Komunitateak PostgreSQL-ren hedagarritasuna eta fidagarritasuna lantzen jarraitzen du, nazioartekotzeko laguntza garatuz, autentifikazio-gaitasunak eta sistema administratzeko modu errazagoak eskainiz.

Oharra honek biltegiratze-motor konektagarrietarako interfaze bat inplementatzen du, orain garatzaileek beren datuak biltegiratzeko metodoak sortzeko aukera ematen diena.

Errendimendu hobekuntzak

PostgreSQL 12-k errendimendu eta mantentze-hobekuntza garrantzitsuak biltzen ditu indexatzeko eta partizionatzeko sistemen.

B-zuhaitz indizeak, PostgreSQL-en indexazio mota estandarra, 12. bertsioan optimizatu dira indizeen aldaketa maiz eragiten duten lan-kargarentzako. PostgreSQL 12rako TPC-C erreferentzia erabiltzeak espazioaren erabileraren batez besteko % 40ko murrizketa eta kontsulten errendimenduaren gorakada orokorra frogatu zuen.

Partikatutako taulen aurkako kontsultek hobekuntza nabarmenak jaso dituzte, batez ere datu-matrizen zati mugatuekin lan egitea eskatzen duten milaka partizioz osatutako tauletan. INSERT eta COPY erabiliz tauletan partikatutako datuak gehitzeko errendimendua hobetu da, baita partizio berri bat eransteko aukera ere, kontsultak blokeatu gabe.

PostgreSQL 12-k hobekuntza gehigarriak egin ditu errendimendu orokorrean eragina duten indexazioan, besteak beste:

  • gainkostua murriztu da GiST, GIN eta SP-GiST indize motetarako WAL sortzean;
  • GiST indizeetan estaldura-indizeak (INCLUDE klausula) deritzonak sortzeko gaitasuna;
  • "hurbilen dagoen auzokidea" kontsultak egiteko gaitasuna (k-NN bilaketa) distantziako operadorea erabiliz (<->) eta SP-GiST indizeak erabiliz;
  • CREATE STATISTICS erabiliz balio ohikoena (MCV) estatistikak biltzeko laguntza, eta horrek kontsulta-plan hobeak lortzen laguntzen du, balioak modu desorekatuan banatuta dauden zutabeak erabiltzean.

PostgreSQL 11-n sartutako LLVM erabiliz JIT konpilazioa lehenespenez gaituta dago orain. JIT konpilazioak errendimendua hobetzen du WHERE klausulen, helburu-zerrendetan, agregatuetan eta barne-eragiketa batzuetan esapideekin lan egitean. Eskuragarri dago PostgreSQL LLVMrekin konpilatu baduzu edo LLVM gaituta duen PostgreSQL pakete bat erabiltzen baduzu.

Hobekuntzak SQL hizkuntzaren gaitasunetan eta estandar bateragarritasunean

PostgreSQL 12-k JSON dokumentuak kontsultatzeko gaitasuna aurkeztu zuen SQL/JSON estandarrean definitutako JSON bide-adierazpenak erabiliz. Kontsultek JSONB formatuan gordetako dokumentuetarako dauden indexatzeko mekanismoak aprobetxa ditzakete datuak modu eraginkorrean berreskuratzeko.

Taula-esamolde arruntak, WITH kontsultak bezala ere ezagunak, automatikoki exekutatu daitezke PostgreSQL 12-n ordezkapena erabiliz, eta horrek lehendik dauden kontsulta askoren errendimendua hobetzen lagun dezake. Bertsio berrian, WITH kontsulta baten ordezkapen-zati bat errekurtsiboa ez bada, albo-ondoriorik ez badu eta kontsultaren hurrengo zati batean behin bakarrik aipatzen bada.

PostgreSQL 12-k "sortutako zutabeetarako" euskarria aurkezten du. SQL estandarrean deskribatuta, zutabe mota honek balio bat kalkulatzen du taula bereko beste zutabeen edukietan oinarrituta. Bertsio honetan, PostgreSQL-k "sortutako zutabeak gordeta" onartzen ditu, non kalkulatutako balioa diskoan gordetzen den.

Nazioartekotzea

PostgreSQL 12-k ICU-ko kolaketetarako euskarria zabaltzen du, erabiltzaileek "deterministikoak ez diren kolaketak" definitzeko aukera emanez, eta horrek, adibidez, maiuskulak eta azentuak bereizten ez dituen konparazioak ahalbidetzen ditu.

autentifikazio

PostgreSQL-k autentifikazio-metodo sendoetarako laguntza zabaltzen du segurtasun eta funtzionaltasun gehigarriak eskaintzen dituzten hainbat hobekuntzarekin. Argitalpen honek bezeroaren eta zerbitzariaren enkriptatzea aurkezten du GSSAPI interfazeen bidez autentifikatzeko, baita PostgreSQL-k LDAP zerbitzariak ezagutzeko gaitasuna ere, PostgreSQL OpenLDAP-ekin konpilatzen denean.

Gainera, PostgreSQL 12-k faktore anitzeko autentifikazio aukera onartzen du orain. PostgreSQL zerbitzariak orain bezeroari eska diezaioke baliozko SSL ziurtagiria dagokion erabiltzaile-izenarekin clientcert=verify-full erabiliz, eta konbinatu hau autentifikazio-metodoen baldintza bereizi batekin (adibidez, scram-sha-256).

Administrazioa

PostgreSQL 12-k blokeatzen ez diren indizeak berreraikitzeko gaitasuna sartu zuen REINDEX CONCURRENTLY komandoa erabiliz. Horri esker, erabiltzaileek DBMS geldialdi-denbora saihesteko aukera ematen dute indizeen berreraikitze luzeetan.

Horrez gain, PostgreSQL 12-n, orrien kontrol-sumoak gaitu edo desgai ditzakezu itzaltze-kluster batean pg_checksums komandoa erabiliz. Aurretik, orrialdeen checksumak, diskoan gordetako datuen osotasuna egiaztatzen laguntzen duen funtzioa, PostgreSQL klusterra initdb erabiliz abiaraztean soilik gaitu zitekeen.

Iturria: linux.org.ru

Gehitu iruzkin berria