Fujii Masao <fujii(dot)masao(at)oss(dot)ntt(dot)co(dot)jp> writes:
> Because 'idle in transaction' backends that don't terminate by tcp_keepalive
> keep holding the lock.
If a backend has gotten to the point of being 'idle in transaction',
then it's certainly exchanged data with the client, so TCP keepalive
should work. I suggest you need to file a kernel bug report if it
doesn't.
regards, tom lane