Re: max_parallel_workers question

From: Jeff Davis <pgsql(at)j-davis(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: max_parallel_workers question
Date: 2019-09-28 17:36:45
Message-ID: 4315675a0ea69af857d282f35072254ee73c61d6.camel@j-davis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, 2019-09-28 at 00:10 -0400, Robert Haas wrote:
> I intended it to mean "the entire cluster." Basically, how many
> workers out of max_worker_processes are you willing to use for
> parallel query, as opposed to other things. I agree that PGC_USERSET
> doesn't make any sense.

In that case, PGC_SIGHUP seems most appropriate.

It also might make more sense to rename it to reserved_worker_processes
and invert the meaning. To me, that would be more clear that it's
designed to prevent parallel query from interfering with other uses of
worker processes.

Another option would be to make it two pools, one for parallel workers
and one for everything else, and each one would be controlled by a
PGC_POSTMASTER setting. But it seems like some thought went into trying
to share the pool of workers[1], so I assume there was a good reason
you wanted to do that.

Regards,
Jeff Davis

[1] If I'm reading correctly, it uses both lock-free code and
intentional overflow.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2019-09-28 17:45:22 Re: Standby accepts recovery_target_timeline setting?
Previous Message Tom Lane 2019-09-28 17:36:31 Re: Unstable select_parallel regression output in 12rc1