Re: sorry, too many clients already error

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Sandeep Gupta <gupta(dot)sandeep(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: sorry, too many clients already error
Date: 2017-05-16 22:53:29
Message-ID: 28849.1494975209@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sandeep Gupta <gupta(dot)sandeep(at)gmail(dot)com> writes:
> I have set max_connection = 40.
> The usage is somewhat not typical. It is basically
> experiment runs that connect to the database
> and dump results there.

> The experiments connect through JDBC and
> they close the connection when they are done.

> I can verify that no more than 20 clients/experiments
> are active at any given time.

It takes nonzero time for a backend process to actually exit after
the client has closed the connection. (A client that wants to wait
for backend exit can do so by waiting for EOF on the socket, but
I doubt that the JDBC driver does so.) If you're spinning through
sessions rapidly enough, you might just have >20 sessions that are
still in process of exiting when a new one comes in and gets this
error.

It'd also be a good thing to see if the client code is sending an
actual Terminate protocol message ('X') or is just closing the
socket. If the latter, maybe it isn't really closing because the
socket is shared with some child process, or something like that?

Turning on log_connections/log_disconnections might help clarify
what's happening.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message jonathan vanasco 2017-05-17 01:42:34 improvements/feedback sought for a working query that looks a bit ugly and might be inefficient
Previous Message Sandeep Gupta 2017-05-16 22:28:40 sorry, too many clients already error