Пуск на СУБД PostgreSQL 13

След година разработка беше публикувана нова стабилна версия на СУБД PostgreSQL 13. Актуализации за новата версия ще бъдат издавани в рамките на пет години до ноември 2025 година.

Основни нововъведения:

  • Реализирано дедупликация на записи в индексите B-tree, което повиши производителността на запитванията и намали потреблението на дисково пространство при индексиране на записи с повтарящи се данни. Дедупликацията се извършва чрез периодично стартиране на обработчик, който обединява групи повтарящи се кортежи и заменя дубликатите с препратки към една съхранявана копия.
  • Повишена е производителността на запитванията, в които се използват агрегатни функции, сгрупирани набори (GROUPING SETS) или секционирани (партиционирани) таблици. Оптимизациите са свързани с използването на хешове при агрегиране вместо действителните данни, което позволява да се избегне зареждането на всички данни в паметта при обработката на големи запитвания. При секционирането е разширен броят ситуации, в които секции могат да бъдат отхвърлени или обединени.
  • Добавена е възможността за употреба на разширена статистика, създавана при използването на командата „CREATE STATISTICS“, за подобряване на ефективността на планирането на запитвания, съдържащи условия „OR“ или търсене в списъци с използване на изрази „IN“ или „ANY“.
  • Ускорена е почистването на индексите при извършване на операция VACUUM чрез паралелизиране на събирането на боклук в индексите. С новия параметър „PARALLEL“ администраторът може да определи броя на потоците, които ще стартират едновременно за VACUUM. Добавена е възможността да се инициира автоматичното изпълнение на VACUUM след вмъкване на данни.
  • Добавена е поддръжка за инкрементно сортиране, позволяваща използването на данни, сортирани на предишния етап, за ускоряване на сортирането на последващите етапи от обработката на запитването. За включване на новата оптимизация в планиращия механизъм е предвидена настройка „enable_incremental_sort“, която по подразбиране е активирана.
  • Добавена е възможността за ограничаване на размера на слотовете за репликация, позволяващи автоматично да се гарантира запазването на лог сегменти от отложеното записване (WAL), докато не бъдат получени от всички резервни сървъри, получаващи реплики. Репликационните слотове също не позволяват на главния сървър да изтрива редове, които могат да доведат до конфликти, дори ако резервният сървър е изключен. Чрез параметъра max_slot_wal_keep_size сега можете да ограничите максималния размер на WAL файловете, за да предотвратите изчерпването на дисковото пространство.
  • Разширени са възможностите за мониторинг на активността на СУБД: в командата EXPLAIN е осигурен показ на допълнителна статистика за използването на WAL лога; в pg_basebackup е предоставена възможност за проследяване на състоянието на изпълнението на непрекъснати резервни копия; в командата ANALYZE е реализирана индикация за прогреса на операцията.
  • Добавена е нова команда pg_verifybackup за проверка на целостта на резервните копия, създавани от командата pg_basebackup.
  • При работа с JSON с използване на оператори jsonpath е разрешено прилагането на функцията 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")')".
  • Добавена е вградена функция gen_random_uuid() за генериране на UUID v4 идентификатори.
  • В системата за партициониране е реализирана пълна поддръжка за логична репликация и задействани от израза „BEFORE”
    тригери, работещи на ниво ред.
  • Синтаксисът „FETCH FIRSTсега допуска използването на израза „WITH TIES”, позволяващ връщането на допълнителни редове, които се намират в края на резултатния набор, получен след прилагане на „ORDER BY”.
  • Реализирана е концепцията за доверени разширения („trusted extension„), които могат да бъдат инсталирани от обикновени потребители, лишени от администраторски права на СУБД. Списъкът с такива разширения е предварително определен и може да бъде разширен от суперпотребителя. Включени са доверените разширения pgcrypto, tablefunc, hstore и т.н.
  • В механизма за свързване на външни таблици Foreign Data Wrapper (postgres_fdw) е реализирана поддръжка за удостоверяване на базата на сертификати. При използване на SCRAM удостоверяване на клиентите е разрешено да искат „канална връзка» (channel binding).

Източник: opennet.ru

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