Это обзор по коммитам. До релиза детали еще могут меняться.
➡️
libpq и psql: проще работать с service-файлами. Файл служб соединения теперь можно указать прямо в строке подключения параметром servicefile. В psql появилась переменная SERVICEFILE, чтобы видеть, какой файл использовался.➡️
regdatabase: новый тип-псевдоним для идентификаторов БД. Помогает конвертировать имя базы в OID и обратно.➡️
pg_stat_statements: видно, какие планы реально выбирались. Добавили столбцы со счетчиками вызовов generic и custom планов.➡️
pg_stat_statements: меньше шума в статистике. Нормализовали FETCH, размер выборки становится параметром. Нормализовали запросы со списками параметров в IN, чтобы одинаковые по смыслу запросы не дробились на разные записи.➡️
EXPLAIN: стало проще объяснять Memoize. Добавили строку Estimates с ожиданиями планировщика по Memoize, включая емкость, число ключей, количество поисков и процент попаданий.➡️
btree_gin: меньше ручных кастов для целых типов. В примере из статьи условие a = 42 для столбца bigint раньше требовало 42::bigint. Теперь int2, int4 и int8 автоматически приводятся к нужному типу, чтобы условие попадало в индекс.➡️ Эксплуатация и производительность: несколько точечных улучшений. Ускорили
pg_upgrade при большом количестве больших объектов. TRUNCATE временных таблиц стал дешевле, меньше сканирований temp_buffers. Планировщик получил инкрементальную сортировку внутри Append и MergeAppend.➡️ Администрирование: больше контроля в явных командах. У
CHECKPOINT появились параметры FLUSH_UNLOGGED и MODE { FAST | SPREAD }. В COPY FROM добавили header <число> для пропуска нескольких первых строк. Появилось представление pg_dsm_registry_allocations для просмотра использования DSM.Подробности — на Хабре. Следите за новостями — скоро будут результаты сентябрьского коммитфеста.
Регистрируйтесь на PGConf.Russia 2026 — на конференции еще детальнее обсудим, что нас ждет в 19-й версии PostgreSQL.
