Вышла 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.
Встроенный провайдер локалей для 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 Иван Панченко.