15 октября разработчики PostgreSQL выпустили первый релиз-кандидат PostgreSQL 19 и уточнили расписание. Второй кандидат, RC2, должен появиться 12 ноября, а стабильную версию планируют представить 19 ноября 2026 года. Проект решил включить дополнительную порцию исправлений, которая готовится к очередному обновлению поддерживаемых веток базы данных. Поэтому PostgreSQL 19 пока остается версией для тестирования, а перенос даты связан с работой над качеством релиза.
Сама новость интересна еще одной деталью: перечень возможностей PostgreSQL 19 изменился сильнее, чем это может показаться по старым анонсам. Поддержка запросов к графам, некоторые операции над временными интервалами и команды изменения разделов таблиц фигурировали в описании первой беты. К осени часть этих функций исключили, поскольку их не успевали достаточно надежно доработать. В результате характеристики RC1 нельзя пересказывать по июньским презентациям.
Почему разработчики назначили второй релиз-кандидат
На 12 ноября у проекта запланирован очередной пакет исправлений для поддерживаемых основных версий PostgreSQL. Команда рассчитывает, что обновление будет содержать много исправлений, и решила перенести их в новую ветку до общего релиза. RC2 должен выйти одновременно с плановыми обновлениями, а через неделю PostgreSQL 19 может стать стабильным. Разработчики оговаривают, что обнаружение серьезных проблем способно изменить расписание и потребовать дополнительных кандидатных сборок.
RC1 уже достаточно близок к планируемому составу версии 19, чтобы тестировать миграцию приложений, расширения и реальные запросы. Однако он не превращает PostgreSQL 19 в рекомендуемую стабильную версию для промышленной эксплуатации. Переход с предыдущей основной версии требует полноценной процедуры обновления: можно использовать pg_upgrade либо выгрузку и восстановление через pg_dump и pg_restore. Замена бинарного файла поверх существующего кластера не является обычным способом такого перехода.
Какие функции убрали из PostgreSQL 19
В сентябре команда выпустила PostgreSQL 19 Beta 4 и перечислила исключенные возможности. Среди них поддержка SQL/PGQ для графовых запросов, операции UPDATE и DELETE с FOR PORTION OF, а также MERGE PARTITIONS и SPLIT PARTITIONS. Кроме того, разработчики отложили включение и выключение контрольных сумм данных без остановки кластера и убрали ряд функций, возвращавших DDL объектов. В RC1 эти возможности не восстановлены, поэтому планировать их использование в PostgreSQL 19 нельзя.
Для PostgreSQL такой отказ примечателен: некоторые удаленные функции уже были показаны пользователям и попали в материалы о будущем релизе. Авторы проекта объяснили, что их доработка требует больше времени и проверки, чем остается в текущем цикле. Возможное возвращение в следующих основных версиях пока остается намерением, а не подтвержденным планом. Разработчикам, которые собирались внедрять SQL/PGQ или пересобирать секции таблиц новыми командами, придется скорректировать планы.
Что сохранилось для администраторов баз данных
Среди заметных возможностей осталась новая команда REPACK, которая должна помогать переупаковывать таблицы и возвращать свободное пространство. Ее вариант REPACK (CONCURRENTLY) рассчитан на обслуживание без блокировки чтения и записи, хотя и для него потребовались исправления между Beta 4 и RC1. PostgreSQL 19 также развивает асинхронный ввод-вывод: процессы I/O могут автоматически масштабироваться в зависимости от настройки. Изменения autovacuum предусматривают работу нескольких процессов и новые механизмы выбора таблиц для обслуживания.
В примечаниях к версии 19 перечислены расширения pg_plan_advice и pg_stash_advice, позволяющие управлять решениями планировщика запросов. Появились дополнительные средства наблюдения за блокировками и восстановлением базы данных. Для логической репликации разработчики предусмотрели включение соответствующих возможностей при определенных настройках wal_level=replica без перезапуска сервера. Все эти функции доступны для проверки в релиз-кандидате, но их поведение на конкретной нагрузке лучше оценивать до обновления рабочей системы.
Безопасность и совместимость: MD5, RADIUS и TLS
В PostgreSQL 19 клиентам начнут показывать предупреждение после успешной аутентификации с использованием MD5. Это продолжение курса на отказ от устаревшего механизма, а не немедленное отключение всех учетных записей с MD5. В версии 19 также удаляется поддержка RADIUS, которую разработчики считали небезопасной в имевшейся реализации. Для инфраструктур, где такой способ входа еще используется, это уже вопрос совместимости и выбора другого механизма аутентификации.
Новая версия добавляет серверную поддержку Server Name Indication: сервер может выбирать TLS-сертификат в зависимости от имени, переданного клиентом. Для настройки предусмотрен файл pg_hosts.conf. Также доступна настройка предупреждений о приближении окончания срока действия паролей, а значение по умолчанию составляет семь дней. Эти изменения особенно полезно проверять вместе со старыми клиентскими библиотеками, инструментами резервного копирования и внутренними скриптами, которые могут зависеть от прежнего поведения базы.
Что важно до 19 ноября
Следующая контрольная дата для PostgreSQL 19 — 12 ноября, когда должен выйти RC2. К этому моменту команды смогут сопоставить результаты испытаний RC1 с новым перечнем исправлений и повторить критичные тесты. Сейчас главный практический смысл предварительной версии — обнаружить проблемы совместимости до промышленного перехода, а не получить новую функцию как можно раньше. История Beta 4 показала, что окончательный состав возможностей стоит сверять с актуальными примечаниями к выпуску.
Вопросы и ответы (FAQ)
PostgreSQL 19 уже вышел?
Нет. 15 октября вышел PostgreSQL 19 RC1. Стабильный релиз запланирован на 19 ноября 2026 года, если разработчикам не потребуется дополнительное время.
Почему появился RC2?
Команда решила включить в PostgreSQL 19 дополнительные исправления, связанные с плановыми обновлениями 12 ноября, и выпустить в тот день второй кандидат.
Поддерживает ли PostgreSQL 19 SQL/PGQ?
Нет. Поддержку графовых запросов SQL/PGQ исключили из ветки на этапе Beta 4, и в RC1 она не вернулась.
Осталась ли команда REPACK (CONCURRENTLY)?
Да. Эта функция присутствует в версии 19, а перед RC1 разработчики исправили обнаруженные в ней проблемы.
Можно ли использовать PostgreSQL 19 RC1 в продакшене?
Это тестовая версия, предназначенная для проверки совместимости и выявления ошибок. Для обычного промышленного использования следует дождаться стабильного выпуска.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.