On 16/11/18 5:36 μ.μ., Rui DeSousa wrote:
On Nov 16, 2018, at 3:18 AM, Achilleas Mantzios <achill@xxxxxxxxxxxxxxxxxxxxx> wrote:
net.inet.tcp.always_keepalive=1
This setting is from FreeBSD. I have tested changing the settings on my PostgreSQL 11.1 on my FreeBSD 11.2-RELEASE-p3, and this would have no effect at all to the postgresql settings, they remained all three of them at zero.
That setting is not going to change Postgresql settings it’s not possible; however, it overrides the connection and forces TCP keep alive even if the application attempts to disable it. If you would to watch the connection you see the keep alive packets.
Note : this is just a small parenthesis to the search for the cause of
the problem.
So I changed all three settings in POSTGRESQL 11.1 (by ALTER SYSTEM +
pg_ctl restart) which runs on a FreeBSD 11 and none of those seemed to
have changed, via SHOW or :
postgres# select name,setting from pg_settings where name ~* 'keepalive';
name | setting
-------------------------+---------
tcp_keepalives_count | 0
tcp_keepalives_idle | 0
tcp_keepalives_interval | 0
(3 rows)
repeated the test on a Linux machine with PostgreSQL 10.5, guess what,
same outcome, it seems that both FreeBSD and Linux trust the OS for
those settings.
Docs don't imply this behavior, docs say that if those values are set to
0 then the OS values are used.
This is completely irrelevant with my problem but anyway.
You have network related issue and this would detect and resolve the issue without fixing the network issue. You have to fix at least one or both of them.
I mean FreeBSD is irrelevant with the problem. Problem was on Linux.