PostgreSQL码农集散地

每天5分钟PG聊通透第1期,为什么数据库链接长时间空闲时有时侯会自动断开?

文中参考文档点击阅读原文打开, 同时推荐2个学习环境: 

1、懒人Docker镜像, 已打包200+插件:《最好的PostgreSQL学习镜像》

2、有web浏览器就能用的云起实验室: 《免费体验PolarDB开源数据库》

3、PolarDB开源数据库内核、最佳实践等学习图谱:  https://www.aliyun.com/database/openpolardb/activity 

关注公众号, 持续发布PostgreSQL、PolarDB、DuckDB等相关文章. 

每天5分钟PG聊通透第1期,为什么数据库链接长时间空闲时有时侯会自动断开?

背景

  • 问题说明(现象、环境)
  • 分析原因
  • 结论和解决办法

链接、驱动、SQL

1、为什么数据库链接长时间空闲时有时侯会自动断开? (长时间空闲, 等待长运行任务)

https://www.bilibili.com/video/BV1k341147eo/

链路层是否有设备设置了无数据包传输超时断开会话.  确实没有发包、或者在等待长SQL的执行结果返回.  找到设备配置更大的超时, 或者配置数据库keepalive tcp心跳包的频率.  
其他:  
#statement_timeout = 0                  # in milliseconds, 0 is disabled  
#lock_timeout = 0                       # in milliseconds, 0 is disabled  
#idle_in_transaction_session_timeout = 0        # in milliseconds, 0 is disabled  
#idle_session_timeout = 120000          # in milliseconds, 0 is disabled  

思考题: 哪些情况可能导致数据库链接被自动断开?

本期彩蛋-招商中,有需要的小伙伴可联系嵌入...

文章中的参考文档请点击阅读原文获得. 


欢迎关注我的github (https://github.com/digoal/blog) , 学习数据库不迷路.  

近期正在写公开课材料, 未来将通过视频号推出, 欢迎关注视频号:

Image