Sets the maximum number of I/O worker processes.
At a glance
| Property | Value |
|---|---|
| Parameter | io_max_workers |
| Category | Resource Consumption |
| Default | 8 |
| Value type | integer |
| Change scope | Reload (postgresql.conf, SIGHUP) |
| Available in | PostgreSQL 19 (added in 19) |
What it does
Sets the maximum number of I/O worker processes. The default is 8. This parameter can only be set in the postgresql.conf file or on the server command line.
Only has an effect if io_method is set to worker.
(Description quoted from the official PostgreSQL documentation.)
How to apply a change
Set it in postgresql.conf (or with ALTER SYSTEM) and reload with SELECT pg_reload_conf(); or pg_ctl reload — no restart needed.
Inspect the current value and source with SHOW io_max_workers; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'io_max_workers';.
Tuning guidance
This parameter is rarely a performance lever. Leave it at the default unless you have a specific, documented reason to change it, change it on one session or one role/database first, and confirm the effect with pg_settings and your own measurements before rolling it out cluster-wide.