Configuration parameter

effective_io_concurrency — PostgreSQL Configuration Parameter

Category Query Planner Default 1 Unit boolean / enum / numeric Change scope Per-session (SET)

Number of concurrent I/O requests the planner assumes (prefetch).

At a glance

Property Value
Parameter effective_io_concurrency
Category Query Planner
Default 1
Value type boolean / enum / numeric
Change scope Per-session (SET)

What it does

The number of concurrent storage I/O operations PostgreSQL expects can be executed simultaneously, used for prefetching during bitmap heap scans.

How to apply a change

Can be set per session with SET, per role/database with ALTER ROLE/DATABASE ... SET, or globally in postgresql.conf.

Inspect the current value and source with SHOW effective_io_concurrency; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'effective_io_concurrency';.

Tuning guidance

Raise to 100-200+ on SSD/NVMe and capable storage arrays; the default of 1 leaves prefetch parallelism on the table for random-I/O-heavy scans.

Reference

PostgreSQL documentation — Query Planner configuration.

Was this helpful?

← All configuration parameters