В Postgres 18 появились три режима: io_uring, worker и sync - поведение как в 17-й версии.
Мне очень понравилась производительность и контроль, которые
io_method=worker принёс в Postgres. Вместе с ним можно было задать io_workers=X, то есть количество background workers, выделенных под I/O. Бенчмарки 17 vs 18 - на картинке ниже.В 19-й версии это расширили: теперь пул может динамически расти через четыре настройки:
io_min_workers - минимальный размер пула I/O workersio_max_workers - максимальный размер пулаio_worker_idle_timeout - скорость уменьшения пулаio_worker_launch_interval - скорость увеличения пулаПо сути, теперь это больше похоже на I/O connection pool, а не на простую статическую настройку.
Мне нравится это направление. Жду бенчмарки. Скоро?
