Number of parallel workers chosen by the optimizer for parallel append

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: pgsql-general(at)postgresql(dot)org
Subject: Number of parallel workers chosen by the optimizer for parallel append
Date: 2020-11-25 16:36:37
Message-ID: d56c6b20ac6e9d7a69f0d695400bd229c203576c.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Mats Julian Olsen 2020-11-25 16:37:28 postgres_fdw insert extremely slow
Previous Message Adrian Klaver 2020-11-25 16:06:33 Re: INSERT Trigger to check for existing records : Does this do what I hope it is doing?