本地连接远程Linux上PG数据库经常自动断开连接
原因:Linux设置的tcp的keepalive超时时间太长,如果网络状况不佳,可能会导致连接断掉。
 [root@localhost ~]# sysctl -a | grep net.ipv4.tcp_keepalive
 sysctl: reading key "net.ipv6.conf.all.stable_secret"
 net.ipv4.tcp_keepalive_intvl = 75    #keep alive探测的时间间隔
 net.ipv4.tcp_keepalive_probes = 9    #在这个连接被认为是断开之前,keep alive请求被重发的次数
 net.ipv4.tcp_keepalive_time = 7200    #在第一次keep alive请求发送后,不活动连接的时间
 解决:让pg更频繁地发出探测数据包来保持tcp连接(重启失效)。
 [root@localhost ~]# sysctl -w net.ipv4.tcp_keepalive_time=60 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_keepalive_intvl=10
 永久修改方法:
 打开文件/etc/sysctl.conf并添加以下内容
 net.ipv4.tcp_keepalive_time = 60
 net.ipv4.tcp_keepalive_probes = 3
 net.ipv4.tcp_keepalive_intvl = 10
 然后保存退出,执行以下语句使之生效
 sysctl -p