Postgresql Sqlalchemy:连接不是';当池溢出时,t关闭

Postgresql Sqlalchemy:连接不是';当池溢出时,t关闭,postgresql,sqlalchemy,connection-pooling,Postgresql,Sqlalchemy,Connection Pooling,当我在我的站点上运行ab(apachebenchmark)(SQLAlchemy和postgresql托管在apacheweb服务器上)时,SQLAlchemy与postgre建立了许多连接,我得到了太多的连接 我跟踪了问题,发现问题出在池(实际上是QueuePool)上 位于的文档说明,如果池已满,则返回的连接(由于max_溢出允许创建这些额外连接而打开)将被丢弃并断开。 但似乎连接实际上并没有关闭!他们一声不响地从游泳池里掉了出来 所以SQLAlchemy不断地打开新的连接,忽略它们(不关闭

当我在我的站点上运行ab(apachebenchmark)(SQLAlchemy和postgresql托管在apacheweb服务器上)时,SQLAlchemy与postgre建立了许多连接,我得到了太多的连接

我跟踪了问题,发现问题出在池(实际上是QueuePool)上

位于的文档说明,如果池已满,则返回的连接(由于max_溢出允许创建这些额外连接而打开)将被丢弃并断开。 但似乎连接实际上并没有关闭!他们一声不响地从游泳池里掉了出来

所以SQLAlchemy不断地打开新的连接,忽略它们(不关闭!)并打开新的连接

增加池大小不是真正的解决方案,问题是没有关闭其他连接


(QueuePool的默认设置为pool_size=5,max_overflow=10)

看起来像是SQLAlchemy中的一个bug,2周前已修复:


此修复程序没有发布,因此您必须手动进行修补。

我认为它的错误和修复。。。从源代码安装并享受乐趣;)