我正在使用Django 1.10和PostgreSQL DB。
我正在尝试确定是否可以从Django设置statement_timeout
。
似乎我无法像connect_timeout
(在settings.py
中一样)完成
DATABASES[DEFAULT]['OPTIONS'] = {
'connect_timeout': float(os.getenv('DEFAULT_DB_OPTIONS_TIMEOUT', 5))
}
我看到了类似的东西,但是我找不到一种方法来验证它是否确实有效:
DATABASES[DEFAULT]['OPTIONS'] = {
'options': '-d statement_timeout=700'
}
我知道我可以直接从数据库进行设置,例如:
set statement_timeout=5000
但是我正在寻找一种从Django做到这一点的方法。
答案 0 :(得分:1)
没有其他“ Django”方法。 Django的方式是按照您的指示使用settings.py
,除非您的示例不太正确。应该是:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
...
'OPTIONS': {
'options': '-c statement_timeout=5000',
...
}
}
}
“ OPTIONS”字典用于数据库连接字符串的参数。可以在here中找到Postgres参数列表。 options
连接字符串参数使您可以为postgres指定命令行参数。 here说明了-c
选项。
请注意,超时以毫秒为单位,因此上面的5000
表示5秒。