След година разработка нова стабилна версия на СУБД . Актуализации за новата версия в рамките на пет години до ноември 2025 година.
:
- Реализирано на записи в индексите B-tree, което повиши производителността на запитванията и намали потреблението на дисково пространство при индексиране на записи с повтарящи се данни. Дедупликацията се извършва чрез периодично стартиране на обработчик, който обединява групи повтарящи се кортежи и заменя дубликатите с препратки към една съхранявана копия.
- Повишена е производителността на запитванията, в които се използват , (GROUPING SETS) или (партиционирани) таблици. Оптимизациите са свързани с използването на хешове при агрегиране вместо действителните данни, което позволява да се избегне зареждането на всички данни в паметта при обработката на големи запитвания. При секционирането е разширен броят ситуации, в които секции могат да бъдат отхвърлени или обединени.
- Добавена е възможността за употреба на , създавана при използването на командата „CREATE STATISTICS“, за подобряване на ефективността на планирането на запитвания, съдържащи условия „OR“ или търсене в списъци с използване на изрази „IN“ или „ANY“.
- Ускорена е почистването на индексите при извършване на операция чрез паралелизиране на събирането на боклук в индексите. С новия параметър „PARALLEL“ администраторът може да определи броя на потоците, които ще стартират едновременно за VACUUM. Добавена е възможността да се инициира автоматичното изпълнение на VACUUM след вмъкване на данни.
- Добавена е поддръжка за инкрементно сортиране, позволяваща използването на данни, сортирани на предишния етап, за ускоряване на сортирането на последващите етапи от обработката на запитването. За включване на новата оптимизация в планиращия механизъм е предвидена настройка „“, която по подразбиране е активирана.
- Добавена е възможността за ограничаване на размера , позволяващи автоматично да се гарантира запазването на лог сегменти от отложеното записване (WAL), докато не бъдат получени от всички резервни сървъри, получаващи реплики. Репликационните слотове също не позволяват на главния сървър да изтрива редове, които могат да доведат до конфликти, дори ако резервният сървър е изключен. Чрез параметъра сега можете да ограничите максималния размер на WAL файловете, за да предотвратите изчерпването на дисковото пространство.
- Разширени са възможностите за мониторинг на активността на СУБД: в командата EXPLAIN е осигурен показ на допълнителна статистика за използването на WAL лога; в е предоставена възможност за проследяване на състоянието на изпълнението на непрекъснати резервни копия; в командата ANALYZE е реализирана индикация за прогреса на операцията.
- Добавена е нова команда за проверка на целостта на резервните копия, създавани от командата pg_basebackup.
- При работа с JSON с използване на оператори е разрешено прилагането на функцията datetime() за преобразуване на времеви формати (ISO 8601 строки и родни времеви типове на PostgreSQL). Например, можете да използвате конструкции като „jsonb_path_query(‘["2015-8-1", "2015-08-12"]’, ‘$[*] ? (@.datetime() < "2015-08-2".datetime())')" и "jsonb_path_query_array('["12:30", "18:40"]', '$[*].datetime("HH24:MI")')".
- Добавена е вградена функция за генериране на UUID v4 идентификатори.
- В системата за партициониране е реализирана пълна поддръжка за логична репликация и задействани от израза „BEFORE”
тригери, работещи на ниво ред. - Синтаксисът „сега допуска използването на израза „WITH TIES”, позволяващ връщането на допълнителни редове, които се намират в края на резултатния набор, получен след прилагане на „ORDER BY”.
- Реализирана е концепцията за доверени разширения („„), които могат да бъдат инсталирани от обикновени потребители, лишени от администраторски права на СУБД. Списъкът с такива разширения е предварително определен и може да бъде разширен от суперпотребителя. Включени са доверените разширения , , и т.н.
- В механизма за свързване на външни таблици Foreign Data Wrapper (postgres_fdw) е реализирана поддръжка за удостоверяване на базата на сертификати. При използване на SCRAM удостоверяване на клиентите е разрешено да искат „» (channel binding).
Източник: opennet.ru
