24. septembra tím vývojárov oznámil vydanie novej verzie Postgresql s číslom 13. V tomto vydaní sa okrem iného zamerali na zvýšenie výkonnosti, zrýchlenie vnútorných servisných služieb a zjednodušenie moniturovania databázy, ako aj na spoľahlivejší prístupový kontrolný systém.
Pokračovala práca na optimalizácii indexovania tabuliek z hľadiska spracovania duplicitných záznamov v binárnych stromoch indexov, čo umožnilo nielen zrýchlenie vykonávania dotazov, ale aj zmenšenie diskového priestoru obsadeného indexom.
Okrem toho bol pridaný algoritmus inkrementálného triedenia, ktorý urýchľuje opätovné triedenie už zoradených údajov z predchádzajúcich krokov a pri niektorých dotazoch je možné urýchliť vykonávanie pomocou novej rozšírenej štatistiky (cez príkaz CREATE STATISTICS) pri výpočte efektívnejšieho krokového plánu.
Tiež bolo optimalizované vykonávanie dotazov s nákladnou agregáciou údajov prostredníctvom širšieho využívania hashovej agregácie a presunutím časti agregovaných údajov na disk, ak sa nezmestia do pamäte. Zaznamenáva sa významné zvýšenie rýchlosti spojenia tabuliek umiestnených na rôznych oddieloch.
Ďalšia významná práca bola vykonaná aj v oblasti zjednodušenia údržby a administrácie databáz Postgresql. Vstavaná úloha „vakuovania“, t.j. využívanie uvoľneného diskového priestoru po odstraňovaní alebo prepise záznamov, teraz môže prebiehať v paralelných vláknach, pričom administrátor má možnosť zadať ich počet. Okrem toho boli pridané nové nástroje na monitorovanie aktuálnej aktivity databázy a pri synchronizácii logov predbežného zápisu medzi hlavným serverom a replikami boli zabránené chybám, ktoré by mohli viesť ku konfliktom pri vypínaní replik alebo narušiť integritu distribuovanej databázy po ich obnove na základe údajov z denníka.
Medzi novinkami pre vývojárov patrí funkcia datetime(), ktorá prevádza rôzne štandardné formáty zápisu času na vstavaný typ PostgreSQL; prístupná z krabice je funkcia generovania UUID v4 gen_random_uuid(); normalizácia práce s unicode; flexibilnejší systém distribúcie dát tabuliek na prepojených sieťových uzloch databázy s plnohodnotnou replikáciou na logickej úrovni a ďalšie zmeny v dopytoch a nových dostupných pre repliky spúšťačoch.
Kontrola prístupu k databáze je považovaná za jeden z kľúčových komponentov systému a v novej verzii sa v tomto smere urobili veľké pokroky. Teraz inštaláciu rozšírení do databázy môže vykonávať iba privilegovaný užívateľ (superuser). Bežní užívatelia si môžu samostatne inštalovať iba tie rozšírenia, ktoré sú označené ako dôveryhodné, alebo malé množstvo rozšírení, ktoré sa považujú za dôveryhodné predvolene (napríklad pgcrypto, tablefunc alebo hstore). Pri autentifikácii užívateľov pomocou mechanizmu SCRAM (pri práci cez ovládač libpq) sa teraz vyžaduje „viazanie kanála“ a obalová funkcia pre externé dáta postgres_fdw od 13. verzie podporuje autorizáciu na základe certifikátu.
Zdroj: linux.org.ru
