Hi. I found the cause of the error that tcp_keepalive doesn't work. The cause is a specification of linux kernel.
In the specification of linux kernel, tcp_keepalive doesn't work if the network outage occurs before receiving ACK for send() system-call. This behavior of tcp_keepalive is reported even by LKML. Linux-Kernel Archive: Re: 2.6.12.5 bug? per-socket TCP keepalive settings http://www.ussg.iu.edu/hypermail/linux/kernel/0508.2/0757.html I'm confused whether tcp_keepalive problem should be solved at the DB level. regards; ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq