Postgresql 13

На 24 септември екипът на разработчиците обяви излизането на нова версия на Postgresql под номер 13. В новото издание основното внимание, наред с другото, беше насочено към повишаване на производителността, ускоряване на вътрешните услуги за обслужване и опростяване на мониторинга на базата, както и по-надежден контрол на достъпа до системата.

Продължава работата по оптимизация на индексирането на таблиците с оглед обработка на дубликати сред индексираните данни в двоични дървета от индекси, което не само ускори изпълнението на запитвания, но и намали заетото от индекса дисково пространство.
Освен това е добавен алгоритъм за инкрементно сортиране, при който повторното сортиране на вече сортирани данни от предишни стъпки работи по-бързо, а някои запитвания могат да се ускорят благодарение на новата разширена статистика (чрез команда CREATE STATISTICS) при изчисляване на по-ефективен стъпков план.
Също така е оптимизирано изпълнението на запитвания с разходна агрегация на данни чрез по-широко приложение на хеширана агрегация и изхвърляне на част от агрегирани данни на диск, ако те не се побират в оперативната памет. Забелязан е значителен ръст в скоростта на свързване на таблици, разположени на различни дялове.

Не малко работа беше свършена и в областта на опростяване на обслужването и администрирането на бази данни Postgresql. Вградената задача за „вакуум“ – т.е. използването на освободеното дисково пространство след изтриване или презапис на редове, сега може да се изпълнява в паралелни потоци, като администраторът може да зададе тяхния брой. В допълнение, добавени са нови средства за мониторинг на текущата активност на базата и предотвратени са грешки при синхронизация на логовете за предварителна запис между основния и репликите, което можеше да доведе до конфликти при изключване на репликите или да наруши целостта на разпределената база след тяхното възстановяване на базата на данни от журнала.

Сред основните нововъведения за разработчици е функцията datetime(), която преобразува различни стандартни формати на времето в вградения тип на Postgresql; опцията за генериране на UUID v4 с gen_random_uuid() налична от кутията; нормализирането на работата с юникод; по-гъвкава система за разпределение на данни в таблици на свързани мрежови възли с пълна репликация на логическо ниво и други промени в заявките и новите тригери, достъпни за реплики.

Контролът на достъп до базата данни е обявен за един от ключовите компоненти на системата, и в новата версия в това отношение са направени значителни стъпки напред. Сега инсталирането на разширения към базата може да бъде извършвано само от привилегирован потребител (superuser). Обикновените потребители вече ще могат да инсталират само онези разширения, които са обозначени от тях като надеждни, или ограничено множество разширения, считани за надеждни по подразбиране (например pgcrypto, tablefunc или hstore). При аутентификация на потребители с механизма SCRAM (при работа чрез драйвера libpq) сега е необходима „привързване на канала“, а функцията-обвивка за външни данни postgres_fdw от версия 13 поддържа удостоверяване чрез сертификат.

Бележки за изданието


Страница за изтегляне

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster