I have a partitioned table, each partition has "parallel_workers = 10" set.

  SET max_parallel_workers_per_gather = 8;

  SET enable_partitionwise_aggregate = on;

  EXPLAIN (COSTS OFF)
  SELECT applicant_name, count(ipc_4)
  FROM laurenz.z_flat
  GROUP BY applicant_name;

                      QUERY PLAN                    
  --------------------------------------------------
   Gather
     Workers Planned: 4
     ->  Parallel Append
           ->  HashAggregate
                 Group Key: z_flat_3.applicant_name
                 ->  Seq Scan on xyz_4 z_flat_3
           ->  HashAggregate
                 Group Key: z_flat.applicant_name
                 ->  Seq Scan on xyz_1 z_flat
           [8 more such partition scans]
  (33 rows)

How does the optimizer decide to use 4 parallel workers?

No matter what I try, I cannot influence that number.

Yours,
Laurenz Albe



Reply via email to