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

Новости Источник: Postgres Professional

26 сентября 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. Команда научилась игнорировать ошибки, связанные с неправильным форматом значений отдельных столбцов. 
  • Структура памяти и интерфейс работы с идентификаторами строк на основе сжатого префиксного дерева (radix tree). 
  • Объединение 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 поможет понять, какие строки были добавлены, изменены. 
  • Также внесены изменения в работу логической репликации:
    • Синхронизация логических слотов репликации между мастером и репликой. 
    • Перенос слотов репликации при обновлении сервера публикации. 
    • Быстрое создание логической реплики из физической. 

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

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