Postgresql 远程连接时间过长自动中断问题解决

1,877次阅读
没有评论

Postgresql 远程连接时间过长自动中断问题解决在网络上连接远程服务器 postgresql 时,不活动时间稍长就会自动断开连接,不利于操作

postgresql 支持 TCP_KEEPLIVE 机制。有三个系统变量 tcp_keepalives_idle,tcp_keepalives_interval,tcp_keepalives_count 来设置 postgresql 如何处理死连接。
 对于每个连接,postgresql 会对这个连接空闲 tcp_keepalives_idle 秒后,主动发送 tcp_keeplive 包给客户端,以侦探客户端是否还活着,当发送 tcp_keepalives_count 个侦探包,每个侦探包在 tcp_keepalives_interval 秒内没有回应,postgresql 就认为这个连接是死的。于是切断这个死连接。
Linux 下面默认是 2 小时. tcp 的 keepalives 包发送间隔以及重试次数. 如果你的网络环境中有设备自动断开空闲会话,那么建议你设置心跳时间小于网络设备的断链接阈值。
tcp_keepalives_idle = 60
tcp_keepalives_interval = 10
tcp_keepalives_count = 6

需要更改相关参数 postgresql.conf

tcp_keepalives_idle = 0             TCP 空闲 = 0 单位秒 选择系统默认 #0

tcp_keepalives_idle = 600

这里我将时间改为 10 分钟方便开发人员使用。

Postgresql 远程连接时间过长自动中断问题解决

如果你觉得我的文章对你有帮助,请分享出去,捐赠本站

捐赠本站

正文完
 
ddn
版权声明:本站原创文章,由 ddn 2016-04-27发表,共计645字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。