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.