gpt4 book ai didi

postgresql - Flask-SQLAlchemy 关闭连接

转载 作者:行者123 更新时间:2023-11-29 11:56:52 27 4
gpt4 key购买 nike

我正在为 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()

请注意,我没有按照文档的建议关闭连接:

You have to commit the session, but you don’t have to remove it at the end of the request, Flask-SQLAlchemy does that for you.

但是,当我运行以下 PostgreSQL 查询时,我可以看到一些 IDLE 连接:

SELECT * FROM pg_stat_activity;

这是否意味着 Flask-SQLAlchemy 没有关闭连接有问题?我很担心,因为最近我收到了 remaining connection slots are reserved for non-replication superuser connections 错误。

最佳答案

SQLAlchemy 设置了一个连接池,出于性能原因,该连接池将保持打开状态。 PostgreSQL 有一个 max_connections配置选项。如果超过该值,则需要降低池数或增加最大连接数。假定默认最大值为 100,并且您已将池设置为 20,则更有可能是其他应用程序打开了与同一数据库的连接。 max_connections 是一个全局设置,因此它必须考虑到连接到数据库服务器的所有应用程序。

关于postgresql - Flask-SQLAlchemy 关闭连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30276377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com