Разделы

Цифровизация Системное ПО

Вышла 17 версия открытой СУБД PostgreSQL

PostgreSQL Global Development Group объявила о выходе новой мажорной версии PostgreSQL — самой популярной в мире СУБД с открытым исходным кодом, на базе которой основано большинство российских систем управления базами данных.

PostgreSQL 17 включила большое количество новых фич и улучшений, повышающих производительность, отказоустойчивость и безопасность работы. Среди авторов новых фич — более 30 россиян, разработчиков из команды Postgres Professional. Компания с 2015 г. отправляет патчи в открытую PostgreSQL и, по данным исследования EDB, занимает 1 место в России и входит в топ-5 международного рейтинга контрибьюторов, обходя Microsoft, Fujitsu, Apple, Google и других.

Среди ключевых обновлений 17 версии: новая система управления памятью для VACUUM; поддержка стандарта SQL/JSON; улучшения производительности запросов; поддержка инкрементального бэкапа pg_basebackup; улучшения в логической репликации.

Подробнее об изменениях в PostgreSQL 17:

Возможность создавать инкрементальные копии, сохраняющие только изменения, сделанные относительно другой резервной копии.

Обновление команды COPY… FROM. Команда научилась игнорировать ошибки, связанные с неправильным форматом значений отдельных столбцов.

VACUUM. Структура памяти и интерфейс работы с идентификаторами строк на основе сжатого префиксного дерева (radix tree).

VACUUM. Объединение WAL-записей об очистке и заморозке страницы.

Для каждого кеша SLRU появился соответствующий параметр конфигурации (с суффиксом _buffers в названии), что позволяет тонко настраивать систему под специфическую нагрузку.

Параметр sslnegotiation для клиентских приложений, работающих через libpq. Благодаря параметру клиент и сервер могут обойтись без предварительного согласования использования TLS.

Поддержка стандарта SQL/JSON.

Встроенный провайдер локалей для C.UTF8.

Новая привилегия MAINTAIN и предопределенная роль pg_maintain.

Новые параметры для команды EXPLAIN: SERIALIZE, MEMORY.

Возможность создавать триггер события на подключение к базе данных.

Новое представление сборщика статистики pg_stat_checkpointer.

Новые возможности появились в команде MERGE: в качестве целевого отношения теперь можно использовать обновляемое представление; условие WHEN NOT MATCHED BY SOURCE для обработки строк целевого отношения, которых нет в источнике; поддержка предложения RETURNING. Функция merge_action поможет понять, какие строки были добавлены, изменены.

Также внесены изменения в работу логической репликации: синхронизация логических слотов репликации между мастером и репликой; перенос слотов репликации при обновлении сервера публикации; pg_createsubscriber. Быстрое создание логической реплики из физической.

Новые версии Postgres Pro на базе новейшей 17 версии компания выпустит уже в этом году.

«Мы постоянно работаем над тем, чтобы сокращать разрыв между выходами релизов PostgreSQL и Postgres Pro. Раньше мы проводили большое сравнение слияний изменений раз в год, когда выходила новая версия Open Source. Это был довольно сложный процесс, поскольку изменений было много, а часть из них в некоторых случаях даже могла противоречить друг другу. Поэтому несколько лет назад команда перешла к практике непрерывного слияния изменений. Делаем это постоянно, практически ежедневно, как только изменения принимаются в открытой версии. Благодаря такому подходу мы свели техническое отставание к минимуму: выпускаем обновленную версию Postgres Pro Standard через считанные дни после выхода PostgreSQL, а Postgres Pro Enterprise — спустя несколько недель», — сказал сооснователь и заместитель генерального директора Postgres Professional Иван Панченко.