PostgreSQL 18 Asynchronous I/O: Which Settings Are Worth Testing
PostgreSQL 18 introduces an asynchronous I/O subsystem that is active by default after an upgrade, so servers run it whether or not it was tuned. The default io_method is worker, which hands reads to dedicated I/O worker processes, while io_uring uses the Linux kernel ring interface and sync keeps the older blocking behavior. The feature mainly benefits sequential scans, bitmap heap scans and vacuum, with writes and WAL largely unaffected. The article advises keeping the default unless the system runs Linux with io_uring support and has read-heavy workloads with cold or large working sets. It recommends changing one setting at a time during controlled before-and-after tests, since warm caches and oversized worker counts can make results misleading or cause regressions.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in