You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置QuestDB服务器避免Postgres协议空闲连接被关闭?

解决QuestDB空闲连接被关闭的配置方案

问题根源

你碰到的psycopg.OperationalError是因为QuestDB的Postgres协议连接默认超时时间为5分钟(300000毫秒),当连接空闲超过这个时长,服务器会主动关闭连接,导致后续执行查询时触发错误。

参数说明与配置方案

pg.net.connection.timeout是控制QuestDB Postgres协议空闲连接超时的核心参数,单位为毫秒:

  • 默认值300000对应5分钟,超过该时长的无操作连接会被服务器回收
  • 设置为0表示禁用空闲连接超时,服务器不会主动关闭任何空闲连接,这是直接解决你问题的有效方案

具体配置方式

  1. 修改配置文件
    找到QuestDB安装目录下conf文件夹中的server.conf,添加或修改如下配置:
pg.net.connection.timeout=0

修改完成后重启QuestDB服务生效。

  1. 启动时传参
    如果不想修改配置文件,可以在启动QuestDB时通过命令行参数指定:
./questdb.sh -pg.net.connection.timeout=0

额外优化建议

设置0能直接解决超时问题,但如果你的机器人并发连接较多且长期空闲,可能会占用额外服务器资源。如果请求频率不高,也可以考虑:

  • 每次收到命令时重新建立连接,避免长期持有空闲连接
  • 使用psycopg3的ConnectionPool管理连接,自动处理连接的创建、复用与回收,平衡资源占用和性能

内容的提问来源于stack exchange,提问作者longedok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:14:55