SQLAlchemy 连接池问题 - Windows 下的 Postgres

1 投票
1 回答
1288 浏览
提问于 2025-04-16 12:57

我在Windows 7上用Python 2.6和SQLAlchemy 0.6.6连接Postgres 8.3数据库。创建数据库连接时,我使用了默认的连接池设置,pool_size=5和max_overflow=10。

但是,不知道为什么,连接数量一直在增加,偶尔会收到“客户端数量过多”的错误提示。我确定连接是在finally块中关闭的,因为这个应用程序只通过WSGI(CherryPy)访问,并且使用的是连接/请求模式。我还在记录连接关闭的时间,以确保它们确实被关闭了。

我尝试在创建引擎时添加echo_pool=true来查看发生了什么,但没有任何日志输出。当我设置echo=True时,可以在控制台看到SQL语句的输出,但连接池的情况却没有任何记录。

总之,这让我很烦恼,因为我的同事在Mac上没有遇到这些问题(我知道,换个Mac),所以我想看看这是否是个bug或者其他什么原因。谷歌搜索没有找到相关信息,所以希望能在这里得到一些帮助。

谢谢,
cc

1 个回答

0

原来在正常使用应用程序的情况下,有一个ScopedSession被用到了外面,而且关闭操作没有放在finally块里。

撰写回答