共计 645 个字符,预计需要花费 2 分钟才能阅读完成。
在网络上连接远程服务器 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 分钟方便开发人员使用。
如果你觉得我的文章对你有帮助,请分享出去,捐赠本站
捐赠本站
正文完