From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Florian G(dot) Pflug" <fgp(at)phlo(dot)org> |
Cc: | Richard Huxton <dev(at)archonet(dot)com>, Gavin Hamill <gdh(at)laterooms(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Clearing out old idle connections |
Date: | 2006-05-24 19:00:53 |
Message-ID: | 631.1148497253@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
"Florian G. Pflug" <fgp(at)phlo(dot)org> writes:
> You can (at least on linux, I assume it's the same for BSD) set the
> "keepalive" flag of a connection. This results in empty packets being
> sent every 30 seconds or so, and the connection is reported to be dead
> if no ACK is received within a timeout.
> I don't know if postgres has a flag to disable/enable this. If not, I'd
> guess it would be quite trivial to add that.
Postgres has always (well, for as long as I can remember) enabled
keepalive checks on client TCP connections. However, the default
timeouts on TCP keepalive are not "30 seconds or so", but well over
an hour according to the RFC specifications.
Some platforms allow you to fool with the timeouts, some don't.
If you have one that does, recent PG versions will let you configure
that.
I'm not sure whether this will actually solve the OP's problem, because
if the clients are actually still there but not doing anything, the
connection is not going to time out. This is mainly something that
helps with flaky networks, broken Windoze boxes that forget they have
connections, that sort of thing...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2006-05-24 19:05:24 | Re: Clearing out old idle connections |
Previous Message | Tom Lane | 2006-05-24 18:54:18 | Re: challenging constraint situation - how do I make it |