关于 PgBouncer 日志中的此类错误:
2020-03-10 03:46:01.730 EDT [25305] LOG C-0xa5cf00: testdb/[email protected]:49214 closing because: query_wait_timeout (age=120s)
2020-03-10 03:46:01.730 EDT [25305] WARNING C-0xa5cf00: testdb/[email protected]:49214 pooler error: query_wait_timeout
是否有可能查看(或记录)触发错误的查询?此错误的最常见原因是什么?停止的服务器,繁忙的服务器?
更新:来自 PostgreSQL 的日志文件在 2020-03-10 03:46:01 没有显示任何错误
您共享的日志消息不是由于查询错误。相反,这是由于 pgbouncer 客户端会话正在等待服务器连接,但等待时间超过 2 分钟。换句话说,池中的所有真实连接都已使用,并且某些会话等待大约 2 分钟以获得对数据库运行查询的机会。造成这种情况的因素可能有很多:
query_wait_timeout
发生,并且新的 pgbouncer 会话被启动)query_wait_timeout
太小——您可能只有很多长时间运行的查询(检查pg_stat_activity
任何仍在运行的旧查询或空闲事务)您所看到的可能还有其他一些可能的原因,但这些只是我想到的几个。