Что нового в PostgreSQL 16

На прошлой неделе состоялся релиз новой 16 версии СУБД PostgreSQL. Давайте посмотрим, что нам приготовили.

Наиболее значимые изменения коснулись логической репликации, а именно добавили две опции:

CREATE SUBSCRIPTION sub CONNECTION ” PUBLICATION pub WITH (copy_data = on, binary=true, streaming=parallel);

  • binary = true – позволяет сделать первичную инициализацию используя бинарный формат – ускорение до 30-50%
  • streaming=parallel – позволяет выполнять репликацию текущих изменений, пока они еще не зафиксированы. Позволяет улучшить производительность до 100%, особенно при использовании синхронного коммита в режиме remote_apply.

Более подробно с примерами можно ознакомиться в статье.

Также теперь можно строить каскадную логическую репликацию и улучшенное построение active-active вариантов логической репликации одной таблицы для одновременных вставок и апдейтов.

Конечно в каждой новой версии улучшаются моменты по оптимизации производительности, а именно:

  • ускорена работа bulk load инструмента COPY TO в некоторых кейсах до 300%
  • улучшено построение планов планировщиком для агрегатных функций c distinct и order by, а также некоторых других
  • добавлена поддержка балансировки нагрузки на стороне клиентов, использующих библиотеку libpq. Теперь клиент может подключаться к разным хостам, которые могут выбираться как в определённом, так и в случайном порядке. Если хост недоступен, будем пытаться подключиться к другому серверу.

Внесены небольшие изменения в мониторинг – а именно добавлено поле в pg_stat_all_tables со временем последнего сканирования таблицы и ряд других незначительных правок.

В целом релиз получился удачным, но как обычно, для продакшн я рекомендую подождать минимум 2 минорной версии, т.е. 16.2 с фиксом багов.

Комментарии

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

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

два × три =