Pas një viti zhvillimi dega e re stabil e DBMS PostgreSQL 12. Përditësime për degën e re në një periudhë prej pesë vjetësh deri në nëntor 2024.
Main :
- Shtuar mbĂ«shtetje pĂ«r ««, vlera e tĂ« cilave llogaritet me bazĂ« shprehjes qĂ« pĂ«rfshin vlerat e kolonave tĂ« tjera nĂ« tĂ« njĂ«jtĂ«n tabelĂ« (analoge me pamjet, por pĂ«r kolona tĂ« veçanta). Kolonat e gjeneruara mund tĂ« jenĂ« tĂ« dy tipeve â tĂ« ruajtura dhe virtuale. NĂ« rastin e parĂ«, vlera llogaritet nĂ« momentin e shtimit ose ndryshimit 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 gjeneruara tĂ« ruajtura;
- Shtuar mundësinë e ekzekutimit të kërkesave të dhënash nga dokumentet JSON me ndihmën e , që i ngjajnë dhe janë të përcaktuara në standardin SQL/JSON. Për të përmirësuar efikasitetin e përpunimit të këtyre shprehjeve për dokumentet e ruajtura në formatin JSONB, aplikohet mekanizmat ekzistente të indeksimit;
- Aktivizimi i aplikacionit të kompilatorit JIT (Just-in-Time) është bërë në mënyrë përmbledhëse me bazë në arritjet e LLVM për të përshpejtuar ekzekutimin e disa shprehjeve gjatë përpunimit të kërkesave SQL. Për shembull, JIT është i aplikueshëm për të përshpejtuar ekzekutimin e shprehjeve brenda blloqeve «WHERE», në listat e daljes (target lists), shprehjet agregate dhe disa operacione të brendshme;
- Rritja e konsiderueshme e performancĂ«s sĂ« indeksimit. Indeksat B-tree janĂ« optimizuar pĂ«r tĂ« punuar nĂ« kushte tĂ« ndryshimeve tĂ« shpeshta tĂ« indekseve â testet TPC-C tregojnĂ« njĂ« rritje tĂ« pĂ«rgjithshme tĂ« performancĂ«s dhe njĂ« ulje tĂ« konsumit tĂ« hapĂ«sirĂ«s nĂ« disk mesatarisht me 40%. JanĂ« ulur shpenzimet nĂ« gjenerimin e logut tĂ« regjistrit tĂ« parashikimit (WAL) pĂ«r llojet e indekseve GiST, GIN dhe SP-GiST. PĂ«r GiST Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« krijuar indekse-mbĂ«shtjellĂ«se (nĂ«pĂ«rmjet shprehjes INCLUDE), qĂ« pĂ«rfshijnĂ« kolona tĂ« tjera. NĂ« operacionin Ă«shtĂ« siguruar mbĂ«shtetje pĂ«r statistika mbi vlerat mĂ« tipike (MCV), qĂ« lejon gjenerimin e planeve mĂ« optimale tĂ« kĂ«rkesave kur pĂ«rdoren kolona me shpĂ«rndarje tĂ« pauniforme;
- Zbatimi i partiçionimit është optimizuar për kërkesat që përfshijnë tabela me mijëra seksione, por që kufizohen në marrjen e një nënseti të kufizuar të të dhënave. Rritja e performancës së shtimit të të dhënave në tabelat e partisë është arritur përmes operacioneve INSERT dhe COPY, si dhe është siguruar mundësia e shtimit të seksioneve të reja përmes «ALTER TABLE ATTACH PARTITION» pa bllokuar ekzekutimin e kërkesave;
- Shtuar mbështetje për zhvillimin automatike inline të shprehjeve të përgjithshme të tabelave (, CTE), që lejojnë përdorimin e grupeve të përkohshme të rezultateve të emëruara, të caktuara përmes operatorit WITH. Zhvillimi inline lejon të rrisë performancën e shumicës së kërkesave, por aktualisht aplikohet vetëm për CTE jo-rekurzive;
- Shtuar mbështetje karakteristikave të lokalizimit «Collation», që mundëson caktimin e rregullave të renditjes dhe metodave të krahasimit duke marrë parasysh kuptimin e simboleve (për shembull, kur rregullohen vlerat numerike merret parasysh prania e minusit dhe pikës para numrit dhe llojet e ndryshme të shkronjave, ndërsa gjatë krahasimit nuk merret parasysh regjistri i simboleve dhe prania e shenjës së theksit);
- Shtuar mbështetje për autentikimin më shumë faktorësh të klientit, ku në pg_hba.conf për autentikimin mund të kombinohet autentikimi me certifikatën SSL (clientcert=verify-full) me një metodë të shtuar autentikimi, si scram-sha-256;
- Shtuar mbështetje për enkriptimin e kanalit të komunikimit gjatë autentikimit përmes , si në anën e klientit ashtu edhe në anën e serverit;
- Shtuar mbështetje për përcaktimin e serverëve LDAP në bazë të regjistrimeve «DNS SRV», nëse PostgreSQL është ndërtuar me OpenLDAP;
- Shtuar operacioni «» për rindërtimin e indekseve pa bllokimin e operacioneve të shkruaj në indeks;
- Shtuar komandën , që lejon për një DB ekzistuese të aktivizojë dhe çaktivizojë kontrollin e kontrolleve të shumave të faqeve të të dhënave (më parë kjo operacion mb supported vetëm gjatë inicializimit të DB);
- Siguruar daljen e treguesit të përparimit të operacioneve CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL dhe pg_checksums;
- Shtuar komanda «» për lidhjen e trajtuesve të metodave të reja të ruajtjes së tabelave, optimizuar për detyra të ndryshme specifike. Aktualisht, metoda e vetme e ndërtuar e aksesit në tabela është «heap»;
- Skedari i konfigurimit recovery.conf është i bashkuar me postgresql.conf. Si indikatorë të kalimit në gjendjen e rikuperimit pas dështimit tani të përdoren skedarët recovery.signal dhe standby.signal.
Burimi: opennet.ru
