🔥 PostgreSQL 18 вышел: новый асинхронный I/O ускоряет запросы в 3 раза
Новости
А также позволяет безболезненно обновиться с прошлой версии
596 открытий4К показов
Вышла финальная версия PostgreSQL 18 — одного из самых популярных СУБД с открытым исходным кодом.
Главное нововведение — асинхронный ввод-вывод, который в ряде сценариев ускоряет работу с диском до трех раз.
Но на этом список улучшений не заканчивается: PostgreSQL 18 ускорил обновления между версиями, добавил удобства разработчикам, улучшил текстовые операции и получил поддержку OAuth 2.0.
До трех раз быстрее благодаря новому вводу-выводу
До этого момента PostgreSQL полагался на механизм операционной системы под названием readahead, чтобы предсказывать, какие данные будут востребованы.
В PostgreSQL 18 появилась полноценная поддержка асинхронного I/O, благодаря которой база может отправлять сразу несколько I/O-запросов — и не ждать завершения каждого по отдельности.
Это позволяет достичь серьезного прироста производительности при последовательном чтении, bitmap heap scan и даже во время VACUUM.
В зависимости от настроек (io_method) можно выбрать подходящий механизм — от worker до io_uring, или оставить синхронный режим (sync). Подробные параметры конфигурации описаны в официальной документации.
Обновления между версиями больше не обнуляют производительность
Одной из болезненных сторон мажорных обновлений PostgreSQL всегда было то, что после pg_upgrade приходилось заново собирать статистику — иначе планировщик начинал выбирать неоптимальные запросы.
В PostgreSQL 18 это исправлено: теперь можно сохранять собранную статистику между версиями, чтобы после обновления система сразу показывала ожидаемую производительность.
Помимо этого, утилита pg_upgrade теперь работает быстрее на базах с большим количеством таблиц, может выполнять параллельные проверки (через --jobs) и поддерживает флаг --swap — для моментальной замены директорий без копирования файлов.
Что еще улучшили
В PostgreSQL 18 появилось множество изменений, не связанных напрямую с I/O, но делающих жизнь разработчиков и администраторов проще. Среди них:
- Новые методы индексирования (вроде
skip scan), которые позволяют задействовать индексы даже без фильтрации по первым столбцам. - Улучшения в
JOIN: быстрее работаютhash join,merge joinиincremental sort. - Поддержка виртуальных вычисляемых колонок, которые вычисляются на лету и не хранятся на диске.
- Новый генератор
uuidv7()— UUID с временной сортировкой, который лучше индексируется и ускоряет выборки. - Возможность использовать оба значения (
OLDиNEW) вRETURNINGприINSERT,UPDATE,DELETEиMERGE. - Улучшения в полнотекстовом поиске и обработке текста, включая новый
casefold()и быструю сортировкуPG_UNICODE_FAST.
Также PostgreSQL теперь проще интегрировать с OAuth 2.0, появилась валидация для FIPS-режима, улучшено логгирование репликации и по умолчанию включены контрольные суммы страниц (page checksums), что может повлиять на стратегию обновления через pg_upgrade.
PostgreSQL 18 уже доступен для загрузки. Полный список изменений можно найти в официальных release note.
596 открытий4К показов



