Re: how does PostgreSQL determine how many parallel processes to start

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: Luca Ferrari <fluca1978(at)gmail(dot)com>
Cc: pgsql-general <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: how does PostgreSQL determine how many parallel processes to start
Date: 2021-02-19 13:31:24
Message-ID: f381243331f3680264258f836acc6afdf4a4b4d8.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, 2021-02-19 at 11:21 +0100, Luca Ferrari wrote:
> > At execution time, PostgreSQL will use as many of the planned workers
> > as are currently available (max_parallel_workers).
>
> Thanks, but just to make it clear, assuming I execute almost
> simultanously two identical queries that can be therefore be
> parallelized, does that mean that the first one will be executed with
> the max available parallele capacity and the second will "starve" on
> parllelism being executed sequentially. Is this correct?
> As a consequence to that, this also could mean that a query over a
> small table could take more advanatge (in parallel sense) than a scan
> on a larger table that was issued just a moment after (assuming both
> table can be scanned in parallel), right?

Precisely. That is why you have "max_parallel_workers_per_gather"
to limit the number of parallel workers available to a single query.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Peter J. Holzer 2021-02-19 13:54:59 Re: Slow index creation
Previous Message Laurenz Albe 2021-02-19 13:29:03 Re: Autovacuum not functioning for large tables but it is working for few other small tables.