【问题标题】:Django - PostgreSQL set statement_timeoutDjango - PostgreSQL 设置 statement_timeout
【发布时间】:2018-07-16 11:12:18
【问题描述】:

我正在使用 Django 1.10 和 PostgreSQL DB。 我想弄清楚我是否可以从 Django 设置statement_timeout。 好像我不能像connect_timeoutsettings.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 中寻找一种方法。

【问题讨论】:

    标签: python django postgresql


    【解决方案1】:

    没有其他“Django”方法可以做到这一点。 Django的方式是使用你的settings.py,就像你指出的那样,除了你的例子不太正确。应该是:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            ...
            'OPTIONS': {
                'options': '-c statement_timeout=5000',
                ...
            }
        }
    }
    

    “OPTIONS”字典用于数据库连接字符串的参数。 Postgres 参数列表可以在here 找到。 options 连接字符串参数允许您为 postgres 指定命令行参数。 -c 选项解释为here

    请注意,超时以毫秒为单位,因此上面的5000 表示 5 秒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-19
      • 2022-08-04
      • 2018-01-04
      • 2020-09-21
      • 2020-03-28
      • 1970-01-01
      • 2021-12-03
      • 1970-01-01
      相关资源
      最近更新 更多