Что нового в PostgreSQL 17

Состоялся релиз 17 версии СУБД PostgreSQL. Рассмотрим основные изменения.

В новой версии значительно улучшена общая производительность, включая обновленное управление памятью при использовании VACUUM, оптимизирован доступ к хранилищу, внесены улучшения для работы с высокими параллельными нагрузками, ускорены массовая загрузка и экспорт, а также улучшено выполнение запросов с индексами. В PostgreSQL 17 добавлена команда SQL/JSON — JSON_TABLE, усовершенствована логическая репликация.

Повышение производительности

Для работы процесса VACUUM необходимо большое количество ресурсов, в частности MAINTENANCE_WORK_MEM. В 17 версии создана новая структура внутренней памяти для вакуума, которая позволяет тратить до 20 раз меньше памяти, что сокращает время работы VACUUM.

При параллельных рабочих нагрузках пропускная способность ввода может быть увеличена до 2 раз благодаря улучшениям в обработке WAL. 

Новый интерфейс потокового ввода-вывода ускоряет последовательное сканирование (чтение всех данных из таблицы) и обновление ANALYZE.

Улучшена производительность запросов с индексами — ускорен default индекс B-tree, а BRIN теперь поддерживает параллельную работу. Также ускорено планирование запросов: оптимизированы NOT NULL конструкции и регулярные выражения.

Расширение возможностей

В 17 версии PostgreSQL добавлен стандарт SQL/JSON. Теперь с помощью команды JSON_TABLE можно конвертировать данные из JSON.

PostgreSQL 17 теперь поддерживает SQL/JSON конструкции (JSONJSON_SCALARJSON_SERIALIZE) и функции (JSON_EXISTSJSON_QUERYJSON_VALUE).

Добавлены новые возможности в MERGE — RETURNING и обновление VIEW. До двух раз увеличена скорость массовой вставки данных с помощью COPY. Добавлена опция ON_ERROR.

Расширены возможности для управления данными в партициях и на удаленных инстансах PostgreSQL. postgres_fdw, предназначенный для выполнения запросов на удаленных экземплярах PostgreSQL, теперь может отправлять подзапросы на удаленный сервер для более эффективной обработки.

Усовершенствования логической репликации

Теперь пользователю не нужно отказываться от слотов логической репликации, что упрощает обновление основной версии при использовании логической репликации.

PostgreSQL 17 обновлено управление отказоустойчивостью для логической репликации, что повышает устойчивость при развертывании в средах с высоким уровнем доступности.

Добавлен инструмент командной строки pg_createsubscriber для преобразования физической реплики в новую логическую реплику.

Безопасность и операции

pg_basebackup — утилита резервного копирования — теперь поддерживает инкрементное резервное копирование.

Добавлена утилита pg_combinebackup для восстановления полной резервной копии.

В pg_dump добавлена опция, которая позволяет выбрать, какие объекты будут включены во время генерации dump файла.

Улучшены функции мониторинга и анализа. EXPLAIN теперь показывает время, затраченное на чтение и запись локальных блоков ввода-вывода, а также включает в себя две опции — SERIALIZE и MEMORY.

Теперь можно узнать о ходе выполнения VACUUM, также новый вид pg_wait_events в сочетании с pg_stat_activity дает больше информации.

Остальные улучшения здесь


Опубликовано

в

Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

семнадцать − пять =