Компания Postgres Professional выпустила новое поколение СУБД Postgres Pro Enterprise 18, которая объединила в себе передовые решения для крупного бизнеса и возможности новейшего ядра PostgreSQL 18.

Ниже — подробный разбор ключевых нововведений.
Возможности ядра PostgreSQL 18
Переход на ядро PostgreSQL 18 даёт пользователям повышение производительности и более удобную эксплуатацию. В Postgres Pro Enterprise 18 доступны все новые решения ванильной версии, включая:
Асинхронный ввод-вывод (AIO). Внедрение AIO позволяет СУБД выполнять множественные запросы на чтение данных с диска параллельно, не дожидаясь ответа на каждый из них. Это существенно ускоряет последовательное сканирование, операции VACUUM и сбор статистики, закладывает фундамент для будущих рекордов производительности в высоконагруженных аналитических и транзакционных системах.
Оптимизация Skip Scan. Новая стратегия планировщика позволяет более эффективно использовать многоколоночные B-tree индексы даже в тех случаях, когда условие WHERE не включает ведущую колонку индекса. Это часто превращает полное сканирование таблицы (seq scan) в быстрый индексный поиск.
Расширенные инструменты мониторинга. Доработки EXPLAIN ANALYZE (автоматическое отображение BUFFERS, детализация временного хранилища и I/O) делают диагностику и настройку сложных запросов более наглядными и эффективными.
Эффективный VACUUM. Значительно переработан механизм VACUUM, включая «нетерпеливую заморозку» (eager freezing), которая снижает вероятность блокировок и позволяет лучше контролировать масштабирование рабочих процессов автовакуума.
KVik — кеширование данных СУБД в RAM
Для систем с высокой нагрузкой на чтение данных в расширение proxima добавлен экспериментальный функционал KVik — кеширующий в оперативной памяти данные СУБД и обеспечивающий быструю работу с ними через RESP-протокол
Основная функциональность KVik:
высокопроизводительное чтение данных;
поддержка RESP-протокола, команды GET, SET, DEL;
автоматическая инвалидация данных в кеше при их изменении в СУБД при операциях insert, update, delete;
автоматическое изменение данных в СУБД при их изменении в кеше при операциях SETи DEL.
Улучшенная адаптивная оптимизация запросов (AQO 4.0)
Модуль AQO (Adaptive Query Optimizer) 4.0 использует машинное обучение для автоматического исправления ошибок в планах выполнения запросов, возникающих в стандартном планировщике.
Ключевое отличие версии 4.0 — устранение накладных расходов на этапе планирования, которые ограничивали применение модуля в предыдущих версиях.
Также из улучшений:
благодаря нивелированию затрат ресурсов на планирование, модуль теперь рекомендован для любых типов рабочих нагрузок, а не только для специфических сценариев;
за счёт построения более эффективных планов запросов пользователи отмечают снижение нагрузки на дисковую подсистему на десятки процентов;
в новой версии реализована поддержка конфигураций высокой доступности, а также устранены проблемы с разрастанием служебных данных и временными таблицами.
Масштабируемость и отказоустойчивость (BiHA)
Кластерное решение BiHA получило обновления для геораспределенных систем и Enterprise-эксплуатации.
Каскадная репликация.Решена проблема избыточной нагрузки на сеть и основной сервер (Лидер) в кластерах с большим количеством узлов или распределённых по разным ЦОД. Теперь реплики могут получать данные не напрямую от Лидера, а транзитом через другие узлы. Это минимизирует трафик между дата-центрами и освобождает ресурсы Лидера для обработки транзакций. Механизм полностью автоматизирован: при сбоях промежуточных узлов кластер самостоятельно перестраивает цепочку репликации, выбирая наиболее актуальный источник (Best Follower).
Мажорный апгрейд с минимальным простоем.Реализована процедура обновления кластера BiHA с версии 17 на 18 с минимальным простоем, гарантией отсутствие потери данных и возможностью отката на старую версию в процессе обновления.
Load Balancer: умная балансировка
В расширении proxima появился встроенный балансировщик нагрузки, упрощающий маршрутизацию запросов. Теперь драйверу не нужно гадать, куда отправлять запросы — СУБД предоставляет специализированные порты:
P2L (Proxy-to-Leader) — порт для пишущей нагрузки (RW);
P2F (Proxy-to-Follower) — порт для распределения читающей нагрузки (RO) между репликами.
Для порта P2F реализовано несколько стратегий балансировки, позволяющих гибко адаптироваться под требования системы и выравнивать утилизацию ресурсов в кластере:
Round-Robin и Random для равномерного распределения запросов по очереди или в случайном порядке;
Weighted Round-Robin позволяет учитывать разную мощность серверов с помощью весовых коэффициентов;
Least Connection направляет запросы на реплику с наименьшим количеством активных сессий.
Оптимизация записи и больших данных
Для администраторов баз данных, сталкивающихся с ETL-процессами и массовой загрузкой, Postgres Pro Enterprise 18 предлагает три новых инструмента:
-
Append Optimized Table
Новая табличная опция append_optimized = true. При массовой вставке данные буферизируются пачками, что кратно снижает количество поисков свободных буферов и записей в WAL. Идеально для быстрой загрузки логов и исторических данных.
-
Мультисегментная вставка
Решает проблему конкуренции за блокировки (buffer contention) при параллельной вставке в одну таблицу. Каждый бэкенд-процесс пишет в свой собственный файловый сегмент. Это позволяет линейно масштабировать скорость записи при 10–50 параллельных потоках.
-
Отложенное сжатие (CFS)
Для сжатых файловых систем (CFS) появилась возможность вставлять данные без компрессии (для максимальной скорости), а сжатие выполнять фоново позже. Это ускоряет процесс загрузки данных («ночное окно»).
Секционирование по ссылке (Reference Partitioning)
Теперь можно автоматически создавать партиции в дочерних таблицах на основе внешнего ключа (Foreign Key) к родительской таблице.
Пример: При создании новой партиции «Январь 2025» в таблице Orders, в связанной таблице Order_Items соответствующая партиция появится автоматически. Это значительно упрощает управление иерархическими структурами данных.
Отложенная смена пароля
Для технических учётных записей введен механизм плавной ротации паролей. Параметр OLD_PASSWORD_TIME позволяет задать период, в течение которого действуют и старый и новый пароли. Это даёт возможность обновлять конфигурации приложений постепенно, без остановки сервиса.
Кеширование результатов запросов
Для сценариев с «тяжелыми» повторяющимися выборками (например, пагинация на высоконагруженных сайтах) добавлен модуль pgpro_result_cache.Достаточно добавить хинт result_cache в SQL-запрос, и результат будет сохранён в памяти. При любом изменении данных в исходных таблицах кеш мгновенно сбрасывается. Это позволяет сократить время выполнения запросов с секунд до долей миллисекунды.
Postgres Pro Enterprise 18 уже доступна для изучения. Подробности в документации.
Комментарии (6)

dbax
27.01.2026 14:26Меня во вем этом больше всего интересует общее количество успешных внедрений Postgres Pro Enterprise... Интересно - дождемся ли такой статистики?

Sleuthhound
27.01.2026 14:26Думаю это коммерческая тайна и никогда не выйдет наружу. Да и зачем, если честно?

dbax
27.01.2026 14:26Ну не знаю насчет прямо "тайны"... Вон Positive и Астра регулярно отчитываются об отгрузках.
Но они-то публичные.

slonik_pg Автор
27.01.2026 14:26Мы активно публикуем кейсы, которые частично отвечают на ваш вопрос:
https://postgrespro.ru/cases
Tzimie
Кеш работает как сторонний процесс, с которым общаются? А какой overhead этого? Кеш ещё и инвалидировать при записи надо, в отличие от MSSQL где он в адресном пространстве процесса и инвалидация получается автоматически
slonik_pg Автор
Это один из background процессов Postgres, overhead на коммуникацию сопоставим с обычным подключением к Postgres, но overhead на получение данных из KVik значительно ниже (даже с учетом необходимости инвалидации), чем встроенный буферный кеш, за счет упрощённой KV‑логики и асинхронной инвалидации по WAL.