On Fri, 2021-02-19 at 10:38 +0100, Luca Ferrari wrote: > I know that parallel processes can be limited by > max_parallel_workers_per_gather and max_parallel_workers, as well as > the condition to consider a parallel plan is min_table_scan_size (and > index). But I would like to understand, once a table has been > considered for a parallel plan, and there is room for other workers, > how will PostgreSQL decide to start another process? During planning, it will generate parallel and non-parallel plans and take the one it estimates to be cheapest. At execution time, PostgreSQL will use as many of the planned workers as are currently available (max_parallel_workers). Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com