我似乎无法让我的Flask应用程序关闭或重用数据库连接.我正在使用PostgreSQL 9.1.3和
Flask==0.8
Flask-SQLAlchemy==0.16
psycopg2==2.4.5
Run Code Online (Sandbox Code Playgroud)
当我的测试套件运行时,打开的连接数量会攀升,直到达到20(max_connections设置为止postgresql.conf),然后我看到:
OperationalError: (OperationalError) FATAL: sorry, too many clients already
None None
Run Code Online (Sandbox Code Playgroud)
我已经减少了代码,它只是调用点create_all和drop_all(但不发出任何SQL,因为没有型号).
我在日志中看到要检入的连接:
DEBUG:sqlalchemy.pool.QueuePool:Connection <connection object at 0x101c1dff0; dsn: 'dbname=cx_test host=localhost', closed: 0> checked out from pool
DEBUG:sqlalchemy.pool.QueuePool:Connection <connection object at 0x101c1dff0; dsn: 'dbname=cx_test host=localhost', closed: 0> being returned to pool
WARNING:root:impl <-------- That's the test running
DEBUG:sqlalchemy.pool.QueuePool:Connection <connection object at 0x101c1dff0; dsn: 'dbname=cx_test host=localhost', closed: 0> checked out from pool
DEBUG:sqlalchemy.pool.QueuePool:Connection <connection object at 0x101c1dff0; dsn: …Run Code Online (Sandbox Code Playgroud)