BUG #14473: Parallel query aborts with too many connections

From: steven(dot)winfield(at)cantabcapital(dot)com
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #14473: Parallel query aborts with too many connections
Date: 2016-12-22 11:13:45
Message-ID: 20161222111345.25620.8603@wrigleys.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 14473
Logged by: Steven Winfield
Email address: steven(dot)winfield(at)cantabcapital(dot)com
PostgreSQL version: 9.6.1
Operating system: RHEL 7.3
Description:

Let's say a user is using all but two or three of their allowed connections
(set with ALTER USER name CONNECTION LIMIT n).

Now if they attempt to execute a query that would be executed in parallel by
many (say 8) workers, such as a count(*) of a large table, then the users
connection limit can be reached and the query is aborted:

mydatabase=> select count(*) from large_table;
ERROR: too many connections for role "myname"
CONTEXT: parallel worker

...even though the query could have been successfully executed with fewer
workers (as I checked by locally setting max_parallel_workers_per_gather to
0).

This is surprising, because in other circumstances the query _can_ proceed
with fewer workers than planned - e.g. when the max_worker_processes limit
has been hit.

From the docs:
(https://www.postgresql.org/docs/9.6/static/how-parallel-query-works.html)

"Every background worker process which is successfully started for a given
parallel query will execute the portion of the plan which is a descendent of
the Gather node"

...implying (at least to me) that workers may not start successfully, but
this is handled gracefully.

I couldn't find anything in the docs about the relationship between
max_parallel_workers_per_gather and a user's connection limit, nor that the
connection could be blown and that queries could be aborted.

Thanks,
Steve.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message jeffdafoe 2016-12-22 14:53:04 BUG #14474: Issue with temp table creation and OIDs
Previous Message Michael Kartashov 2016-12-22 11:01:22 Can't build uuid-ossp extension from source