pgconfigurator
pgconfigurator

max_parallel_workers_per_gather

No restart — settable per sessiontuned by pgconfiguratorcount (workers per Gather)

Maximum parallel workers a single query operation may request.

What pgconfigurator would set
32 GB · 8 vCPU · NVMe · OLTP
Computing…
Tune for your exact server → /tunecomputed in your browser · nothing uploaded

What it does

max_parallel_workers_per_gather caps how many parallel workers one Gather node can ask for, i.e. how parallel a single query can get. It's bounded by the cluster-wide pool (max_parallel_workers) and the hard ceiling (max_worker_processes).

How to tune it

0 disables intra-query parallelism. For analytical workloads with big scans/joins, 2–8 is common. Don't set it so high that concurrent queries exhaust max_parallel_workers — when they do, plans request workers that never launch (visible as 'Workers Launched' < 'Workers Planned').

What the analyzer flags

  • Parallel under-use — fewer workers launched than planned

Paste a plan into the analyzer →

Related plan nodes

FAQ

Why do my plans show fewer workers launched than planned?
The global pool (max_parallel_workers / max_worker_processes) was exhausted — often by other concurrent parallel queries. Either raise the pool or lower per-gather requests so the numbers match what the system can actually launch.

Related parameters