我在 Windows 7 和 PY 2.6 上针对 Postgres 8.3 数据库使用 SQLAlchemy 0.6.6。我在创建引擎时保留配置池的默认值,即 pool_size=5、max_overflow=10。
由于某种原因,连接不断堆积,我间歇性地收到来自 PG 的“太多客户端”。我确信连接在 finally block 中关闭,因为此应用程序只能通过 WSGI (CherryPy) 访问并使用连接/请求模式。我也会在关闭连接时进行记录,以确保万无一失。
我试图通过在我的引擎创建过程中添加 echo_pool=true 来查看发生了什么,但没有任何记录。当我设置 echo=True 时,我可以看到 SQL 语句在控制台中滚动,但没有用于池化的内容。
无论如何,这让我发疯,因为我使用 Mac 的同事没有任何这些问题(我知道,得到了 Mac),所以我想看看这是否是结果错误或其他东西。谷歌没有产生任何结果,所以我希望在这里得到一些帮助。
谢谢, 抄送
最佳答案
事实证明,在正常的应用程序使用之外使用了 ScopedSession,并且关闭不是在 finally 中。
关于python - SQLAlchemy 连接池问题 - Windows 上的 Postgres,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5185438/