将所有postgres数据库的查询超时设置为60分钟



我必须将Postgres数据库的查询超时设置为60分钟。我有以下Postgres数据库的配置文件。

  1. pg_ctl.conf
  2. pg_hba.conf
  3. pg_ident.conf
  4. postgresql.conf
  5. start.conf

在postgresql.conf文件中,我看到了一些字段;

#statement_timeout = 0      # in milliseconds, 0 is disabled
#lock_timeout = 0           # in milliseconds, 0 is disabled

我的问题是,我需要取消注释/设置哪个字段60分钟?

有人帮忙吗?或者我需要在配置文件中添加其他内容吗?

提前谢谢。

要设置查询超时的全局默认值,请使用statement_timeout,例如

statement_timeout = 60min

手动报价

中止任何花费超过指定时间的语句。[…]如果指定此值时不带单位,则以毫秒为单位。值为零(默认值(将禁用超时
超时是从命令到达服务器到服务器完成为止的时间。

如果你只想为特定用户这样做,就没有必要全局地(为每个用户(这样做:

alter user the_user_to_control 
set statement_timeout = '60min';

这将更改当前数据库中指定用户的值。如果您真的在每个数据库中都需要它,那么您将需要在每一个数据库中运行该语句。

最新更新