Juan Miguel <juanmime(at)ono(dot)com> writes:
> I have a Linux box with postgres 7.4 branche, where web php applications
> queries the DB. When Apache launches a php file that connects to the DB,
> if I do "ps aux | grep postgrest", I can see a process "postgres user
> ...." running, that represents the session openned to the DB. But when
> the php program finishes, and closes the connection, this process does
> not end. Therefore the number of processes are growing while people
> visit the web. Why ?
Evidently the connection isn't really getting closed. I don't know
enough about PHP to help you with why not, though.
> I gain access this DB remotely by an encrypted connection with stunnel.
> Well, when I launch a connection to a DB, and passes a long time without
> traffic, I realise the connection is closed. The program that queries
> the DB does not realise the connection is broken and when it tries to
> query, it fails. I think that the origin of the problem is not stunnel,
> because the same problem presents to me when trying with a testing DB
> without stunnel. Why ? Has postgres a timer that breaks the
> connections when there is no traffic ? Has Linux this timmer ?
No, and no, but a lot of router and firewall hardware has idle-timeouts
for connections. Look at the settings for whatever boxes are between
your two machines --- if you're lucky, you can increase the idle
More recent versions of PG (I think 8.1 and up) allow you to fool with
the TCP keepalive settings --- reducing those can be used to generate
dummy traffic that will keep the firewall from thinking the connection
regards, tom lane
In response to
pgsql-admin by date
|Next:||From: Milen A. Radev||Date: 2006-01-28 16:40:03|
|Subject: Re: Postgresql, number of connections and life time|
|Previous:||From: Juan Miguel||Date: 2006-01-28 08:20:18|
|Subject: Postgresql, number of connections and life time|