【发布时间】:2015-07-28 08:58:51
【问题描述】:
我正在为 Flask 使用 PostgreSQL 和 Flas-SQLAlchemy 扩展。
#app.py
app = Flask(__name__)
app.config['SQLALCHEMY_POOL_SIZE'] = 20
db = SQLAlchemy(app)
#views.py
user = User(***)
db.session.add(user)
db.session.commit()
请注意,我没有按照文档的建议关闭连接:
您必须提交会话,但不必在请求结束时将其删除,Flask-SQLAlchemy 会为您完成。
但是,当我运行以下 PostgreSQL 查询时,我可以看到一些 IDLE 连接:
SELECT * FROM pg_stat_activity;
这是否意味着我遇到了 Flask-SQLAlchemy 没有关闭连接的问题?我很担心,因为最近我收到了remaining connection slots are reserved for non-replication superuser connections 错误。
【问题讨论】:
-
不能代表 Flask,但连接池的意义在于保持一些连接打开,以确保为每个事务打开新连接的开销。
标签: postgresql flask sqlalchemy flask-sqlalchemy