Publikimi i PostgreSQL 12 DBMS

Pas një viti zhvillimi botuar degë e re e qëndrueshme e DBMS PostgreSQL 12. Përditësimet për degën e re do të dalë për pesë vjet deri në nëntor 2024.

Kryesore risitë:

  • Mbështetje e shtuar për "kolonat e krijuara", vlera e së cilës llogaritet bazuar në një shprehje që mbulon vlerat e kolonave të tjera në të njëjtën tabelë (të ngjashme me pamjet, por për kolonat individuale). Kolonat e krijuara mund të jenë të dy llojeve - të ruajtura dhe virtuale. Në rastin e parë, vlera llogaritet në momentin kur të dhënat shtohen ose ndryshohen, dhe në rastin e dytë, vlera llogaritet në çdo lexim bazuar në gjendjen aktuale të kolonave të tjera. Aktualisht, PostgreSQL mbështet vetëm kolonat e krijuara të ruajtura;
  • U shtua aftësia për të kërkuar të dhëna nga dokumentet JSON duke përdorur Shprehjet e rrugës, të kujton XPath dhe të përcaktuara në standardin SQL/JSON. Mekanizmat ekzistues të indeksimit përdoren për të përmirësuar efikasitetin e përpunimit të shprehjeve të tilla për dokumentet e ruajtura në formatin JSONB;
  • Aktivizuar si parazgjedhje është përdorimi i një përpiluesi JIT (Just-in-Time) bazuar në zhvillimet e LLVM për të përshpejtuar ekzekutimin e disa shprehjeve gjatë përpunimit të pyetjeve SQL. Për shembull, JIT përdoret për të përshpejtuar ekzekutimin e shprehjeve brenda blloqeve WHERE, listave të synuara, shprehjeve agregate dhe disa operacioneve të brendshme;
  • Performanca e indeksimit është përmirësuar ndjeshëm. Indekset e pemës B janë optimizuar për të punuar në mjedise ku indekset ndryshojnë shpesh - testet TPC-C tregojnë një rritje të përgjithshme të performancës dhe një reduktim mesatar të konsumit të hapësirës në disk prej 40%. Zvogëlohet shpenzimi i përgjithshëm kur gjenerohet regjistri i parashkrimit (WAL) për llojet e indeksit GiST, GIN dhe SP-GiST. Për GiST, është shtuar aftësia për të krijuar indekse mbështjellëse (nëpërmjet shprehjes INCLUDE) që përfshijnë kolona shtesë. Në funksionim KRIJONI STATISTIKA Mbështetja për statistikat më të zakonshme të vlerave (MCV) ofrohet për të ndihmuar në gjenerimin e planeve më optimale të pyetjeve kur përdoren kolona të shpërndara në mënyrë të pabarabartë.
  • Zbatimi i ndarjes është optimizuar për pyetje që përfshijnë tabela me mijëra ndarje, por kufizohen në zgjedhjen e një nëngrupi të kufizuar të dhënash. Performanca e shtimit të të dhënave në tabelat e ndara duke përdorur operacionet INSERT dhe COPY është rritur dhe është gjithashtu e mundur të shtohen seksione të reja përmes "ALTER TABLE ATTACH PARTITION" pa bllokuar ekzekutimin e pyetjes;
  • Mbështetje e shtuar për zgjerimin automatik në linjë të shprehjeve të përgjithësuara të tabelës (Shprehje e zakonshme e tabelës, CTE) që lejojnë përdorimin e grupeve të përkohshme të rezultateve të emërtuara të specifikuara duke përdorur deklaratën WITH. Vendosja në linjë mund të përmirësojë performancën e shumicës së pyetjeve, por aktualisht përdoret vetëm për CTE jo-rekurzive;
  • Mbështetje e shtuar jo-përcaktues vetitë e lokalit "Collation", i cili ju lejon të vendosni rregullat e renditjes dhe metodat e përputhjes duke marrë parasysh kuptimin e karaktereve (për shembull, kur renditni vlerat dixhitale, prania e një minus dhe një pikë përpara një numri dhe lloje të ndryshme të drejtshkrimit merren parasysh dhe gjatë krahasimit nuk merret parasysh rasti i karaktereve dhe prania e një shenje theksi);
  • Mbështetje e shtuar për vërtetimin e klientit me shumë faktorë, në të cilin në pg_hba.conf mund të kombinoni vërtetimin e certifikatës SSL (clientcert=verify-full) me një metodë autentikimi shtesë si scram-sha-256 për vërtetim;
  • Mbështetje e shtuar për enkriptimin e kanalit të komunikimit kur vërtetohet nëpërmjet GSSAPI, si nga ana e klientit ashtu edhe nga ana e serverit;
  • Mbështetje e shtuar për përcaktimin e serverëve LDAP bazuar në të dhënat "DNS SRV" nëse PostgreSQL është ndërtuar me OpenLDAP;
  • Operacioni i shtuar "REINDEX njëkohësisht» për të rindërtuar indekset pa bllokuar operacionet e shkrimit në indeks;
  • Komandë e shtuar pg_checkssums, i cili ju lejon të aktivizoni ose çaktivizoni kontrollin e shumave të kontrollit të faqeve të të dhënave për një bazë të dhënash ekzistuese (më parë ky operacion mbështetej vetëm gjatë inicializimit të bazës së të dhënave);
  • Produkti i dhënë i treguesit të progresit për operacionet CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL dhe pg_checkssums;
  • Komanda e shtuar "KRIJONI METODËN E QASJES» për të lidhur mbajtësit për metodat e reja të ruajtjes së tabelave të optimizuara për detyra të ndryshme specifike. Aktualisht e vetmja metodë e integruar e aksesit në tabelë është "grumbull";
  • Skedari i konfigurimit recovery.conf është bashkuar me postgresql.conf. Si tregues të kalimit në gjendjen e rimëkëmbjes pas një dështimi, tani duhet të përdorni skedarët recovery.signal dhe standby.sinal.

Burimi: opennet.ru

Shto një koment