Configuration parameter

io_worker_idle_timeout — PostgreSQL configuration parameter

Category Resource Consumption Default 1 minute Change scope Sighup

Sets the time after which entirely idle I/O worker processes exit, reducing the size of pool to match demand.

At a glance

Property Value
Parameter io_worker_idle_timeout
Category Resource Consumption
Default 1
Value type integer
Change scope Reload (postgresql.conf, SIGHUP)
Available in PostgreSQL 19 (added in 19)

What it does

Sets the time after which entirely idle I/O worker processes exit, reducing the size of pool to match demand. The default is 1 minute. 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_worker_idle_timeout; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'io_worker_idle_timeout';.

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.

Reference

PostgreSQL documentation — io_worker_idle_timeout.

Keep going

Related & next steps

Was this helpful?

← All configuration parameters