PostgreSQL 13 DBMS leidimas

Po metų plėtros paskelbta новая стабильная ветка СУБД „PostgreSQL“ 13. Обновления для новой ветки išeis penkeriems metams iki 2025 m. lapkričio mėn.

pagrindinis naujoves:

  • Įgyvendinta дедупликация записей в индексах B-tree, позволившая поднять производительность запросов и сократить потребление дискового пространства при индексации записей с повторяющимися данными. Дедупликация производится через периодический запуск обработчика, выполняющего слияние групп повторяющихся кортежей и замену дубликтов на ссылки на одну хранимую копию.
  • Повышена производительность запросов, в которых используются агрегатные функции, сгруппированные наборы (GROUPING SETS) или секционированные (партицированные) таблицы. Оптимизации связаны с использованием при агрегировании хэшей вместо фактических данных, что позволяет избежать размещения всех данных в памяти при обработке больших запросов. При секционировании расширено число ситуаций, при которых секции могут быть отброшены или объединены.
  • Pridėta galimybė naudotis расширенной статистики, создаваемой при использовании команды «CREATE STATISTICS», для улучшения эффективности планирования запросов, содержащих условия «OR» или поиск в списках с использованием выражений «IN» или «ANY».
  • Ускорена чистка индексов при выполнении операции VAKUUMAS за счёт распараллеливания сборки мусора в индексах. При помощи нового параметра «PARALLEL» администратор может определить число потоков, которые будут одновременно запускаться для VACUUM. Добавлена возможность инициирования автоматического выполнения VACUUM после вставки данных.
  • Добавлена поддержка инкрементальной сортировки, позволяющей использовать данные, отсортированные на предыдущем этапе, для ускорения сортировки на последующих этапах обработки запроса. Для включения новой оптимизации в планировщике запросов предусмотрена настройка «Įgalinti_rūšiuoti«, которая включена по умолчанию.
  • Добавлена возможность ограничения размера слотов репликации, позволяющих в автоматическом режиме гарантировать сохранение сегментов лога отложенной записи (WAL) до тех пор, пока они не будут получены всеми запасными серверами, принимающими реплики. Слоты репликации также не позволяют основному серверу удалить строки, которые могут привести к конфликтам, даже если запасной сервер отключён. При помощи параметра max_slot_wal_keep_size теперь можно ограничить максимальный размер WAL-файлов для предотвращения исчерпания места на диске.
  • Расширены возможности мониторинга активности СУБД: в команде EXPLAIN обеспечен показ дополнительной статистики по использованию WAL-лога; в pg_basebackup предоставлена возможность отследить состояние выполнения непрерывных бэкапов; в команде ANALYZE реализована индикация прогресса выполнения операции.
  • Pridėta nauja komanda 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 ir tt
  • В механизме подключения внешних таблиц Foreign Data Wrapper (postgres_fdw) реализована поддержка аутентификации на основе сертификатов. При использовании SCRAM-аутентификации клиентам разрешено запрашивать «привязку канала» (channel binding).

Šaltinis: opennet.ru

Добавить комментарий