PostgreSQL 18 RC1: io_uring AIO, uuidv7, OAuth и новый протокол передачи данных — GA запланировано на 25 сентября 2025 года

PostgreSQLБазы данныхDevOps

Основное обновление

Группа глобальной разработки PostgreSQL опубликовала PostgreSQL 18 Release Candidate 1 4 сентября 2025 года, с общим доступом, запланированным на 25 сентября 2025 года. Этот релиз приносит значительный набор изменений на уровне платформы: новая асинхронная подсистема ввода-вывода (на основе рабочих процессов с поддержкой Linux io_uring), которая обещает значительные приросты производительности для операций с большим объемом чтения, виртуальные сгенерированные столбцы, которые теперь вычисляются по умолчанию во время выполнения запроса, поддержка uuidv7 (UUID, упорядоченные по временной метке), поддержка расширения аутентификации OAuth, более полные данные EXPLAIN ANALYZE, которые показывают метрики буферов/индексов/WAL, параллельная сборка индексов GIN, несколько улучшений запросов/оптимизаторов (пропускные сканирования B-деревьев, лучшее планирование OR/IN) и новая версия протокола передачи данных PostgreSQL 3.2. Новые кластеры будут иметь контрольные суммы данных, включенные по умолчанию.

Почему это важно (практическая оценка)

Это подлинный поворотный момент для производственных бэкендов и инструментов. Одна только асинхронная подсистема ввода-вывода может существенно снизить задержку ввода-вывода и повысить производительность для рабочих нагрузок с большим объемом чтения и индексации — ожидайте измеримых приростов при больших последовательных сканированиях, сканированиях битовых карт и VACUUM; пользователи облачных и блочных хранилищ должны провести бенчмаркинг с вашими реальными рабочими нагрузками, поскольку приросты варьируются в зависимости от хранилища и ОС. Новый протокол передачи данных и несколько внутренних изменений означают, что клиентские библиотеки, прокси-серверы соединений и пуллеры должны быть протестированы: хотя libpq остается совместимым с 3.0 по умолчанию, драйверам и прокси-серверам потребуется проверка на соответствие функциям и поведению 3.2 перед обновлением производственных баз данных.

Операционные и миграционные последствия являются немедленными. PostgreSQL 18 — это основная версия: обновления требуют pg_upgrade или dump/restore, и вам следует провести полные тесты совместимости. Новые кластеры с контрольными суммами данных по умолчанию влияют на процессы и конвейеры создания образов (вы можете отказаться от этого с помощью флагов initdb, но CI/автоматизация должны быть обновлены). Изменения в области безопасности — поддержка OAuth и продолжающаяся депрекация аутентификации md5 в пользу SCRAM — означают, что вам следует планировать миграции аутентификации сейчас, если вы все еще полагаетесь на старые методы. Функции, ориентированные на разработчиков, такие как виртуальные сгенерированные столбцы, uuidv7 и улучшенная диагностика EXPLAIN, являются практическими победами: виртуальные столбцы уменьшают сложность хранения и синхронизации для вычисленных значений, uuidv7 помогает локализации индексов и шардированию по временным диапазонам, а более полные данные EXPLAIN ускоряют устранение неполадок запросов.

Реальные следующие шаги: запустите RC в тестовой среде с репрезентативными рабочими нагрузками, проверьте свои клиентские драйверы/пуллеры и ORM (включая Node.js pg, серверные менеджеры соединений и любые прокси), обновите CI-образы, чтобы использовать флаги initdb, которые вы хотите для контрольных сумм, и запланируйте окно обновления вокруг даты GA (25 сентября 2025 года). Если вы полагаетесь на расширения, подтвердите совместимость с 18rc1 и следите за экосистемой расширений на предмет обновлений.

Источник

Читать дальше