Обсуждение: FATAL 1: Sorry, too many clients already

Поиск
Список
Период
Сортировка

FATAL 1: Sorry, too many clients already

От
"A.M."
Дата:
OMG, I'm about to rip my hair out. I've been writing a webapp using
DBD::Pg and it has been accessing postgresql for weeks without
problems. Suddenly this morning with no changes to the setup, I get:
FATAL 1:  Sorry, too many clients already
whenever I try to use the webapp (running under user "apache"). This
message appears when I have psql open and in the httpd error_log.
However, if I connect using psql via the domain socket or tcp socket, I
have no problems! I restarted postgres, apache, and the entire server
and the shit won't go away. What am I doing wrong?!
Setup:
RedHat 7.1
pgsql 7.2.2
Nothing other than the db and webapp are running on the server. What
should I do?
 ><><><><><><><><><
AgentM
agentm@cmu.edu



Re: FATAL 1: Sorry, too many clients already

От
"Nick Fankhauser"
Дата:
AM-

The band-aid patch is to increase the number of connections available. Check
out this link to the idocs:

http://www.postgresql.org/idocs/index.php?runtime-config.html

Maybe that will keep things running for you while you go over the code to
learn why you're using more connections now. If you aren't using pooled
connections, maybe you just have more users on the web.

-Nick

> -----Original Message-----
> From: pgsql-admin-owner@postgresql.org
> [mailto:pgsql-admin-owner@postgresql.org]On Behalf Of A.M.
> Sent: Friday, November 08, 2002 12:31 PM
> To: pgsql-admin@postgresql.org
> Subject: [ADMIN] FATAL 1: Sorry, too many clients already
>
>
> OMG, I'm about to rip my hair out. I've been writing a webapp using
> DBD::Pg and it has been accessing postgresql for weeks without
> problems. Suddenly this morning with no changes to the setup, I get:
> FATAL 1:  Sorry, too many clients already
> whenever I try to use the webapp (running under user "apache"). This
> message appears when I have psql open and in the httpd error_log.
> However, if I connect using psql via the domain socket or tcp socket, I
> have no problems! I restarted postgres, apache, and the entire server
> and the shit won't go away. What am I doing wrong?!
> Setup:
> RedHat 7.1
> pgsql 7.2.2
> Nothing other than the db and webapp are running on the server. What
> should I do?
>  ><><><><><><><><><
> AgentM
> agentm@cmu.edu
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>


Re: FATAL 1: Sorry, too many clients already

От
"Nick Fankhauser"
Дата:

>> If you aren't using pooled
>> connections, maybe you just have more users on the web.
>
> But is there really that number of backends/connections present?

Assuming there is no connection pooling going on, then yes, it is reasonable
to assume that more users means more connections. (I don't know whether DBI
has pooling built-in.)


> I see that error message in storage/ipc/sinval.c (7.2.3) so it
> could be some
> sort kernel limit on shared memory connections or something like that.

Nope, this is definitely a message from the postgresql backend. I'm
embarrassed to admit how many times I've seen it....

 FATAL 1: Sorry, too many clients already


typo RE: FATAL 1: Sorry, too many clients already

От
"Nick Fankhauser"
Дата:
Oops...

> Nope, this is definitely a message from the postgresql backend.

What I *meant* to type was:

this is definitely a message from the postgresql backend referring to too
many client connections.


Re: FATAL 1: Sorry, too many clients already

От
"Nigel J. Andrews"
Дата:
On Fri, 8 Nov 2002, Nick Fankhauser wrote:

> AM-
>
> The band-aid patch is to increase the number of connections available. Check
> out this link to the idocs:
>
> http://www.postgresql.org/idocs/index.php?runtime-config.html
>
> Maybe that will keep things running for you while you go over the code to
> learn why you're using more connections now. If you aren't using pooled
> connections, maybe you just have more users on the web.

But is there really that number of backends/connections present?

Could be a DoS on the web server but if it happens immediately on restart of
everything it must be an ongoing and pretty obvious attack.

I see that error message in storage/ipc/sinval.c (7.2.3) so it could be some
sort kernel limit on shared memory connections or something like that. I
haven't looked further than a grep so I could be completely wrong in that
suggestion.


>
> > -----Original Message-----
> > From: pgsql-admin-owner@postgresql.org
> > [mailto:pgsql-admin-owner@postgresql.org]On Behalf Of A.M.
> > Sent: Friday, November 08, 2002 12:31 PM
> > To: pgsql-admin@postgresql.org
> > Subject: [ADMIN] FATAL 1: Sorry, too many clients already
> >
> >
> > OMG, I'm about to rip my hair out. I've been writing a webapp using
> > DBD::Pg and it has been accessing postgresql for weeks without
> > problems. Suddenly this morning with no changes to the setup, I get:
> > FATAL 1:  Sorry, too many clients already
> > whenever I try to use the webapp (running under user "apache"). This
> > message appears when I have psql open and in the httpd error_log.
> > However, if I connect using psql via the domain socket or tcp socket, I
> > have no problems! I restarted postgres, apache, and the entire server
> > and the shit won't go away. What am I doing wrong?!
> > Setup:
> > RedHat 7.1
> > pgsql 7.2.2
> > Nothing other than the db and webapp are running on the server. What
> > should I do?
> >  ><><><><><><><><><
> > AgentM
> > agentm@cmu.edu
> >

--
Nigel J. Andrews