On Jun 20, 2010, at 7:18 , Tom Lane wrote:
> Florian Pflug <fgp@phlo.org> writes:
>> On Jun 19, 2010, at 21:13 , Tom Lane wrote:
>>> This is nonsense --- the slave's kernel *will* eventually notice that
>>> the TCP connection is dead, and tell walreceiver so. I don't doubt
>>> that the standard TCP timeout is longer than people want to wait for
>>> that, but claiming that it will never happen is simply wrong.
>
>> No, Robert is correct AFAIK. If you're *waiting* for data, TCP
>> generates no traffic (expect with keepalive enabled).
>
> Mph. I was thinking that keepalive was on by default with a very long
> interval, but I see this isn't so. However, if we enable keepalive,
> then it's irrelevant to the point anyway. Nobody's produced any
> evidence that keepalive is an unsuitable solution.
Yeah, I agree. Just enabling keepalive should suffice for 9.0.
BTW, the postmaster already enables keepalive on incoming connections in StreamConnection() - presumably to prevent
crashedclients from occupying a backend process forever. So there's even a clear precedent for doing so, and proof that
itdoesn't cause any harm.
best regards,
Florian Pflug