2023. gada 24. septembrī izstrādātāju komanda paziņoja par jaunā Postgresql 13. versijas izlaišanu. Jaunajā laidienā tika pievērsta galvenā uzmanība veiktspējas uzlabošanai, iekšējo apkopes pakalpojumu paātrināšanai un datu bāzes uzraudzības atvieglošanai, kā arī uzticamāka pieejas kontrolei sistēmai.
Turpināta darba optimizācija tabulu indeksēšanā attiecībā uz dublikātu apstrādi indeksējamajos datos binārās indeksu koku struktūrās, kas ļāva ne tikai paātrināt vaicājumu izpildi, bet arī samazināt indeksu nepieciešamo diska vietu.
Turklāt tika pievienots inkrementālās šķirošanas algoritms, kas ļauj ātrāk atkārtoti šķirot iepriekš šķirotos datus, un dažu vaicājumu paātrināšanai var izmantot jauno paplašināto statistiku (caur komandu CREATE STATISTICS) efektīvāku soli pa solim plāna izstrādē.
Tika optimizēta vaicājumu izpilde ar datus apgrūtinājošu agregāciju, plašāk izmantojot haša agregāciju un daļēji saglabājot agregētos datus diskā, ja tie neietilpst operatīvajā atmiņā. Tika atzīmēts nozīmīgs ātruma pieaugums tabulu savienošanā, kas novietotas dažādās sadaļās.
Tika veiktas ievērojamas pūles, lai atvieglotu Postgresql datu bāzu apkopes un administrēšanas procesus. Iebūvētais "vakuuma" uzdevums, proti, atbrīvotā diska vietas izmantošana pēc rindu dzēšanas vai pārrakstīšanas, tagad var tikt izpildīts paralēlos momentos, un administratoram ir iespēja norādīt to skaitu. Turklāt tika pievienoti jauni instrumenti pašreizējās datu bāzes aktivitātes uzraudzībai un novērstas kļūdas priekšapmeklējuma žurnālu sinhronizācijā starp galveno un replikām, kas varēja radīt konfliktus replikas izslēgšanas laikā vai apdraudēt izplatītās datu bāzes integritāti pēc to atjaunošanas, pamatojoties uz žurnāla datiem.
Jauno izstrādātāju funkciju vidū izceļama ir datetime() funkcija, kas pārvērš dažādus standarta laika formātus iebūvētajā Postgresql tipā; no kastes pieejama UUID v4 ģenerēšanas funkcija gen_random_uuid(); Unicode apstrādes normalizācija; elastīgāka datu sadalīšanas sistēma tabulām saistītajos tīkla mezglos ar pilnīgu loģiskās līmeņa replikāciju, kā arī citi uzlabojumi vaicājumos un jauni pieejamie trigeri replikām.
Piekļuves kontrole uz datubāzi tiek deklarēta kā viens no galvenajiem sistēmas komponentiem, un jaunajā versijā šajā jomā ir panākta liela progresu. Tagad paplašinājumus uz datubāzes var uzstādīt tikai privileģēts lietotājs (superuser). Parastie lietotāji varēs uzstādīt tikai tos paplašinājumus, kurus viņi norādījuši kā uzticamus, vai nelielu skaitu paplašinājumu, kas pēc noklusējuma tiek uzskatīti par uzticamiem (piemēram, pgcrypto, tablefunc vai hstore). Lietotāju autentifikācijai ar SCRAM mehānismu (strādājot caur libpq draiveri) tagad ir nepieciešama “kanāla sasaistes” prasība, un izvēles funkcija ārējiem datiem postgres_fdw kopš 13. versijas atbalsta autorizāciju pēc sertifikāta.
Avots: linux.org.ru
