Издание на СУБД 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