On Tue, May 27, 2014 at 2:35 PM, Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>wrote:
> In PostgreSQL you can handle the problem of dying connections by setting
> the
> tcp_keepalives_* parameters (see
> http://www.postgresql.org/docs/current/static/runtime-config-connection.html
> ).
>
> That should take care of the problem, right?
>
> Yours,
> Laurenz Albe
>
I am afraid it won't help:
1. AFAIK, in Linux TCP keepalive is used on idle connections only. If not
all data is transmitted - connection is not idle - keep alive timer is not
started.
2. POLLHUP mask is used (while setting poll fds) to catch keep alive
timeout. Sadly, libpq sets (POLLIN | POLLERR).
With regards,
Dmitry Samonenko