Configuration parameter

min_parallel_index_scan_size — PostgreSQL configuration parameter

Category Query Planning Default 512 kilobytes (512kB

Sets the minimum amount of index data that must be scanned in order for a parallel scan to be considered.

At a glance

Property Value
Parameter min_parallel_index_scan_size
Category Query Planning
Default 512
Value type integer
Change scope Per-session (SET)
Available in PostgreSQL 12, 13, 14, 15, 16, 17, 18, 19 (added in 12)

What it does

Sets the minimum amount of index data that must be scanned in order for a parallel scan to be considered. Note that a parallel index scan typically won’t touch the entire index; it is the number of pages which the planner believes will actually be touched by the scan which is relevant. This parameter is also used to decide whether a particular index can participate in a parallel vacuum. See vacuum. If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The default is 512 kilobytes (512kB).

(Description quoted from the official PostgreSQL documentation.)

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 min_parallel_index_scan_size; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'min_parallel_index_scan_size';.

Tuning guidance

Lower it to let parallel index scans kick in on smaller indexes; the default keeps parallelism for large index scans where coordination pays off.

Reference

PostgreSQL documentation — min_parallel_index_scan_size.

Keep going

Related & next steps

Was this helpful?

← All configuration parameters