Sandeep Gupta <gupta.sandeep@xxxxxxxxx> 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 -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general