PG Bug reporting form <noreply@postgresql.org> writes: > In the default postgresql.conf that is generated, there are the following > lines:
> #max_worker_processes = 8 # (change requires restart) > #max_parallel_workers_per_gather = 2 # taken from max_parallel_workers > <<<<<<<<<<<<<<<<<<<<<<<< THIS > #max_parallel_maintenance_workers = 2 # taken from max_parallel_workers > max_parallel_workers = 8 # maximum number of max_worker_processes that > # can be used in parallel operations
> it indicates that the default value is taken from whatever > max_parallel_workers is.
No, you're misreading it. There's no magic connection between these two settings. What the comment means to say is that the per-gather worker processes come out of a pool of at most max_parallel_workers processes. Perhaps another wording would be better, but we don't have a lot of space here --- any thoughts?
max_parallel workers = 8 # allocated from max_worker_processes
max_parallel_*_workers = N # allocated from max_parallel_workers
or maybe "consumed from ..."
Or
max_parallel_*_workers = N # capped at max_parallel_workers
The last one turns a process-oriented description into a constraint, the latter seems to fit better in a config file.