24. septembra je razvojna ekipa objavila novo različico Postgresql 13. V tem izidu je bilo med drugim osredotočeno na povečanje zmogljivosti, pospeševanje internih vzdrževalnih storitev in poenostavitev nadzora nad bazo, pa tudi na bolj zanesljiv nadzor dostopa do sistema.
Oblikovanje indeksiranja tabel se je nadaljevalo z izboljšanjem ravnanja z dvojnimi podatki v indeksiranih podatkih binarnih dreves indeksov, kar je omogočilo ne le pospešitev izvajanja poizvedb, ampak tudi zmanjšanje diska prostora, ki ga zasedajo indeksi.
Poleg tega je bil dodan algoritem inkrementalnega razvrščanja, pri katerem ponovno razvrščanje že razvrščenih podatkov poteka hitreje, mnoge poizvedbe pa lahko pridobijo pospešitev s pomočjo nove razširjene statistike (prek ukaza CREATE STATISTICS) pri izračunu bolj učinkovitega korak po koraku načrta.
Izvajanje poizvedb z drago agregacijo podatkov je bilo prav tako optimizirano skozi širšo uporabo hash agregacije in shranjevanja dela agregiranih podatkov na disk, če ne morejo biti v pomnilniku. Zaznamovan je znaten porast hitrosti povezovanja tabel, ki so na različnih particijah.
Obsežno delo je bilo opravljeno tudi na poenostavitvi vzdrževanja in upravljanja podatkovnih baz Postgresql. Vgrajena naloga "vacuuming", kar pomeni uporabo sproščenega diska prostora po izbrisu ali prepisovanju vrstic, se zdaj lahko izvaja v paralelnih tokovih, administrator pa lahko sedaj določi njihovo število. Poleg tega so dodana nova orodja za spremljanje trenutne aktivnosti baze in onemogočena so bila napaka pri sinhronizaciji dnevnikov pred zapisom med glavnim strežnikom in replikami, kar bi lahko povzročilo konflikte med izklapljanjem replik ali ogrozilo celovitost porazdeljene baze po obnovi na podlagi podatkov iz dnevnika.
Med novostmi za razvijalce izstopa funkcija datetime(), ki pretvara različne standardne formate zapisa časa v vgrajeni tip Postgresql; funkcija za generiranje UUID v4 gen_random_uuid() je na voljo kot privzeta; normalizacija dela z unikatnimi znaki; bolj fleksibilen sistem razporejanja podatkov tabel na povezanih mrežnih vozliščih baze z ustreznim replikacijo na logični ravni, poleg tega pa še druge spremembe v poizvedbah in novih razpoložljivih sprožilcih za replikacije.
Nadzor dostopa do baze se predstavlja kot en ključnih komponent sistema, in v novi različici so na tem področju doseženi veliki koraki naprej. Zdaj lahko razširitve baze namesti le privilegiran uporabnik (superuser). Pri tem lahko običajni uporabniki samostojno namestijo le tiste razširitve, ki so označene kot zanesljive, ali pa majhno število razširitev, ki so privzeto štejejo za zanesljive (na primer, pgcrypto, tablefunc ali hstore). Pri avtentikaciji uporabnikov z mehanizmom SCRAM (pri delu preko gonilnika libpq) zdaj zahteva 'vezavo kanala', funkcija-wrapper za zunanje podatke postgres_fdw pa od 13. različice podpira avtentikacijo s certifikatom.
Izvor: linux.org.ru
