Django::配置不当:池不支持持久连接

问题描述 投票:0回答:1

我最近升级到 Django 5.1 并使用以下设置配置了数据库池选项:

DATABASES["default"]["OPTIONS"] = {
    "pool": {"min_size": 2, "max_size": 4, "timeout": 10}
}
DATABASES["default"]["CONN_MAX_AGE"] = None

但是,我遇到了以下错误:

ImproperlyConfigured: Pooling doesn't support persistent connections.

我知道删除

CONN_MAX_AGE = None
将解决此问题,但我想更深入地了解此限制。具体来说,使用持久连接和池化的限制是 Django 的实现特有的约束,还是通常扩展到
PostgreSQL
(或其他数据库)?此外,造成这种不兼容的根本原因是什么?

django database postgresql django-settings
1个回答
0
投票

Django 5.1 中的连接池选项使用 psycopg_pool.ConnectionPool 来处理池逻辑,Django 本身并不实现该逻辑。 Django 只是在每次请求后将连接返回到该池,并将关闭连接的处理留给它,因为这应该由池处理。

ConnectionPool
类有它自己的选项,您可以通过传递给
pool
选项的字典进行配置。如果您想要类似于
CONN_MAX_AGE
的内容,您可以配置
max_lifetime
参数。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.