Thread: Backend start-up failed FATAL : non-superuser connection limit exceeded

Backend start-up failed FATAL : non-superuser connection limit exceeded

From
Stephen J Peck
Date:
Hi,

I am currently using PostgreSQL 7.3.2 on i386-pc-linux-gnu, compiled by
GCC gcc (GCC) 3.2.3.

I'm getting a 'Backend start-up failed FATAL : non-superuser connection
limit exceeded' error and was wondering as too why this occurs.

The only solution I have found to reset the connections is to actually
restart Postgresql.

Could this be that postgres is not releasing connections correctly, for
it seems that it occurs only when there have been frequent restarts of
the application we are working on.

I have had a look with Google for some posted solutions on what this
error actually means or why it occurs, but have been unsuccessful in
retrieving any useful information.

If someone could give me a quick run down of some of the possible causes
of this error, or just a basic explanation of why it occurs I would
really appreciate it.

Thanks in advance.

Steve


Re: Backend start-up failed FATAL : non-superuser

From
Doug McNaught
Date:
Stephen J Peck <peck@advancen.com> writes:

> I am currently using PostgreSQL 7.3.2 on i386-pc-linux-gnu, compiled by
> GCC gcc (GCC) 3.2.3.

You should probably upgrade to 7.3.5, which fixes a couple of quite
nasty bugs in the version you're running.  It's an iun-place
upgrade--no dump/reload required.

> I'm getting a 'Backend start-up failed FATAL : non-superuser connection
> limit exceeded' error and was wondering as too why this occurs.
>
> The only solution I have found to reset the connections is to actually
> restart Postgresql.
>
> Could this be that postgres is not releasing connections correctly, for
> it seems that it occurs only when there have been frequent restarts of
> the application we are working on.

It's much more likely that your app is not releasing the
connections--PG is pretty good about exiting the backend when its
connection is dropped.

When you get the "start-up failed" message, see if your application
has any processes or threads still running.  Use 'netstat' and see how
many active connections there are on the ports/sockets used by
Postgres (you didn't mention whether you're using tcp/up or Unix socket
connections).  Use 'lsof' (or equivalent) if need be to find out what
processes have these connections open.

> If someone could give me a quick run down of some of the possible causes
> of this error, or just a basic explanation of why it occurs I would
> really appreciate it.

The error message is perhaps not clear enough?  Seems straightforward
to me...

-Doug

Re: Backend start-up failed FATAL : non-superuser

From
Doug McNaught
Date:
Doug McNaught <doug@mcnaught.org> writes:

> Stephen J Peck <peck@advancen.com> writes:
>
>> I'm getting a 'Backend start-up failed FATAL : non-superuser connection
>> limit exceeded' error and was wondering as too why this occurs.

Sorry to follow up to myself--I left out the most obvious and
straightforward possibility, that your app is simply opening more
connections than PG is configured to accept.

-Doug