This parameter is supported only on systems that support TCP_KEEPINTVL. And please ensure that you are not accidentally connecting through a Unix-domain socket. If the result of this query is null then it is a Unix socket based connection.
SELECT client_addr FROM pg_stat_activity WHERE pid = pg_backend_pid();
Change tcp_keepalives_idle in postgresql.conf from 0 to 300 , then pg_ctl reload but it stays with the old 0 value. Tried restart and it did not work. PG Log says it was changed. Reset_cal marked OK, but no real change ( ins how)
-[ RECORD 1 ]---+----------------------------------------------------- name | tcp_keepalives_idle setting | 0 unit | s category | Connections and Authentication / Connection Settings short_desc | Time between issuing TCP keepalives. extra_desc | A value of 0 uses the system default. context | user vartype | integer source | session min_val | 0 max_val | 2147483647 enumvals | boot_val | 0 reset_val | 1800 sourcefile | sourceline | pending_restart | f