我想将pgpool或pgbouncer用作flask应用程序的外部连接池。flask-sqlalchemy扩展似乎没有公开将连接池更改为NullPool的方法。有办法吗?
最佳答案
虽然可以使用apply_driver_hacks方法,但我强烈建议不要使用它。
在本地计算机上,TCP开销可以忽略不计,但身份验证和协商(例如编码)当然不是。在烧瓶中保留池总是有用的,如果需要,可以使用SQLALCHEMY_POOL_SIZE
、SQLALCHEMY_POOL_TIMEOUT
、SQLALCHEMY_POOL_RECYCLE
和SQLALCHEMY_MAX_OVERFLOW
settings配置。
如果你只是想减少开销(尽管完全可以忽略不计),而且你的单实例Flask应用程序是连接Postgres的唯一工具,那么从混合中删除PgBouncer/PgPool会更好。
关于postgresql - 如何在flask-sqlalchemy中禁用与PostgreSQL的连接池?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25767484/