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