use*_*391 5 python django postgresql
我正在使用 Django 1.10 和 PostgreSQL DB。我想弄清楚我是否可以statement_timeout从 Django设置。似乎我不能像connect_timeout(in settings.py)那样做:
DATABASES[DEFAULT]['OPTIONS'] = {
'connect_timeout': float(os.getenv('DEFAULT_DB_OPTIONS_TIMEOUT', 5))
}
Run Code Online (Sandbox Code Playgroud)
我看到了这样的东西,但我找不到验证它确实有效的方法:
DATABASES[DEFAULT]['OPTIONS'] = {
'options': '-d statement_timeout=700'
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以直接从数据库设置它,如:
set statement_timeout=5000
Run Code Online (Sandbox Code Playgroud)
但我正在寻找一种从 Django 中做到这一点的方法。
exp*_*xpz 10
没有其他“Django”方式可以做到这一点。Django 的方法是使用您settings.py所指示的方式,除非您的示例不太正确。它应该是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
...
'OPTIONS': {
'options': '-c statement_timeout=5000',
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
'OPTIONS' 字典用于数据库连接字符串的参数。Postgres 参数列表可以在这里找到。在options连接字符串参数允许您指定Postgres的命令行参数。此处-c解释了该选项。
请注意,超时以毫秒为单位,因此5000上面的意思是 5 秒。
| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |