Robert Haas <robertmh...@gmail.com> writes: > On Sun, Oct 6, 2019 at 1:17 PM Tom Lane <t...@sss.pgh.pa.us> wrote: >> The attached proposed patch fixes this by making bgworker spawning >> include a canAcceptConnections() test.
> I think it used to work this way -- not sure if it was ever committed > this way, but it at least did during development -- and we ripped it > out because somebody (Magnus?) pointed out that if you got close to > the connection limit, you could see parallel queries start failing, > and that would suck. Falling back to non-parallel seems more OK in > that situation than actually failing. I'm not following your point? Whatever you might think the appropriate response is, I'm pretty sure "elog(FATAL) out of the postmaster" is not it. Moreover, we have to --- and already do, I trust --- deal with other resource-exhaustion errors in exactly the same code path, notably fork(2) failure which we simply can't predict or prevent. Doesn't the parallel query logic already deal sanely with failure to obtain as many workers as it wanted? regards, tom lane