Pas një vit zhvillimi dega e re stabile e DBMS PostgreSQL 12. Përditësimet për degen e re për pesë vjet deri në nëntor 2024.
Ndryshimet kryesore :
- Shtuar mbĂ«shtetje pĂ«r ««, vlera e tĂ« cilave llogaritet nĂ« bazĂ« tĂ« njĂ« shprehjeje qĂ« pĂ«rfshin vlerat e kolonave tĂ« tjera nĂ« tĂ« njĂ«jtĂ«n tabelĂ« (analog tĂ« paraqitjeve, por pĂ«r kolona tĂ« veçanta). Kolonat e gjeneruara mund tĂ« jenĂ« tĂ« dy llojeve â tĂ« ruajtura dhe virtuale. NĂ« rastin e parĂ«, vlera llogaritet nĂ« momentin e shtimit ose modifikimit tĂ« tĂ« dhĂ«nave, ndĂ«rsa nĂ« tĂ« dytin â me çdo lexim nĂ« bazĂ« tĂ« gjendjes aktuale tĂ« kolonave tĂ« tjera. Aktualisht, nĂ« PostgreSQL mbĂ«shteten vetĂ«m kolonat e ruajtura tĂ« gjeneruara;
- Shtuar mundësia e ekzekutimit të kërkesave të dhënash nga dokumentet JSON nëpërmjet , të ngjashme me dhe të përcaktuara në standardin SQL/JSON. Për të rritur efikasitetin e përpunimit të shprehjeve të tilla për dokumentet e ruajtura në formatin JSONB, aplikohen mekanizmat ekzistues të indeksimit;
- Programi JIT (Just-in-Time) është i aktivizuar si parazgjedhje, duke u bazuar në punimet e LLVM për të përshpejtuar ekzekutimin e disa shprehjeve gjatë përpunimit të pyetjeve SQL. Për shembull, JIT është i dobishëm për të përshpejtuar ekzekutimin e shprehjeve brenda blloqeve 'WHERE', në listat e daljes (target lists), shprehjet agreguese dhe disa operacione të brendshme.
- Kemi rritur ndjeshĂ«m performancĂ«n e indekseve. Indekset B-tree janĂ« optimizuar pĂ«r tĂ« punuar nĂ« kushte tĂ« ndryshimeve tĂ« shpeshta tĂ« indekseve â nĂ« testet TPC-C vĂ«rehet njĂ« pĂ«rmirĂ«sim i pĂ«rgjithshĂ«m i performancĂ«s dhe njĂ« ulje e konsumit tĂ« hapĂ«sirĂ«s diskore mesatarisht me 40%. Kostot e ndihmĂ«s janĂ« ulur gjatĂ« gjenerimit tĂ« logut tĂ« shĂ«nimeve paraprake (WAL) pĂ«r tipet e indekseve GiST, GIN dhe SP-GiST. PĂ«r GiST Ă«shtĂ« shtuar mundĂ«sia e krijimit tĂ« indekseve tĂ« mbĂ«shtjellura (nĂ«pĂ«rmjet shprehjes INCLUDE), duke pĂ«rfshirĂ« kolona shtesĂ«. NĂ« operacionin Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r statistikĂ«n mbi vlerat mĂ« tipike (MCV), qĂ« lejon gjenerimin e planeve mĂ« optimale tĂ« pyetjeve kur pĂ«rdoren kolona qĂ« janĂ« shpĂ«rndarĂ« nĂ« mĂ«nyrĂ« tĂ« pabarabartĂ«.
- Implementimi i sekcionimit (particionimit) është optimizuar për pyetje që përfshijnë tabela me mijëra seksione, por që kufizohen në marrjen e një nëngrupi të kufizuar të të dhënave. Performanca e shtimit të të dhënave në tabela të sekcionuara është rritur përmes operacioneve INSERT dhe COPY, si dhe është siguruar mundësia për të shtuar seksione të reja përmes "ALTER TABLE ATTACH PARTITION" pa bllokuar ekzekutimin e kërkesave;
- Shtuar mbështetje për automatik inline përhapjen e shprehjeve tabelarësh të përgjithshëm (, CTE), të cilat lejojnë përdorimin e koleksioneve të përkohshme të emëruara, të caktuara nëpërmjet operatorit WITH. Inline përhapja rrit performancën e shumicës së kërkesave, por për momentin aplikohet vetëm për CTE jo-rekurzive;
- Shtuar mbështetje për pronave të paqartë të lokalizimit «Collation», që lejon të vendosen rregullat e rendit dhe metodat e krahasimit duke marrë parasysh kuptimin e simboleve (për shembull, gjatë renditjes së vlerave numerike merr parasysh praninë e minusit dhe pikës para numrit dhe llojet e ndryshme të shkrimit, ndërsa gjatë krahasimit nuk merr parasysh regjistrin e simboleve dhe praninë e shenjës së theksit);
- është shtuar mbështetje për autentikimin e shumëfaktorësh për klientët, në të cilin në pg_hba.conf mund të kombinohen autentikimi me certifikatë SSL (clientcert=verify-full) me një metodë të shtuar autentikimi, si scram-sha-256;
- është shtuar mbështetje për enkriptimin e kanalit të komunikimit gjatë autentikimit për , si në anën e klientit ashtu edhe në anën e serverit;
- është shtuar mbështetje për identifikimin e serverëve LDAP në bazë të regjistrimeve "DNS SRV", nëse PostgreSQL është ndërtuar me OpenLDAP;
- është shtuar operacioni "" për të rindërtuar indekset pa bllokuar operacionet e shkrimit në indeks;
- Shtuar komanda , që lejon për një DB ekzistuese të aktivizohet dhe çaktivizohet kontrolli i shumave kontroluese të faqeve të të dhënave (më parë ky operacion mbështetej vetëm gjatë inicializimit të DB);
- është garantuar dalja e një treguesi të përparimit për operacionet CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL dhe pg_checksums;
- është shtuar komandën "" për të lidhur procesorët e metodave të reja të ruajtjes së tabelave, të optimizuara për detyra të ndryshme specifike. Aktualisht, metoda e vetme e integruar e qasjes në tabela është "heap";
- Skedha e konfigurimit recovery.conf është bashkuar me postgresql.conf. Tani si tregues të kalimit në gjendjen e rikuperimit pas dështimit, duhet të përdoren skedarët recovery.signal dhe standby.signal.
Burimi: opennet.ru
