【发布时间】:2021-02-27 18:52:08
【问题描述】:
在事务模式下使用 pgBouncer 似乎是在任何给定时间减少活动连接数的最佳方法,但它也带来了一个我不确定如何有效解决的问题。
假设您希望在数据库级别设置 5 分钟的一揽子 statement_timeout 只是为了防止任何意外的超长时间运行查询的安全,但是有一群工作人员运行通常需要更长的时间的语句。如果没有 pgBouncer,您可以在会话中临时设置 statement_timeout 并将其设置回默认的后记,一切正常。但是,在事务模式下使用 pgBouncer,如果不将违规操作包装在事务中并设置本地 statement_timeout,则无法可靠地工作。但是,这也是不可取的,因为这样您就可以任意长时间运行事务来实现所需的超时设置。
在事务模式下使用 pgBouncer 时,有没有办法将本地超时应用于语句,但不必使用事务?
【问题讨论】:
标签: postgresql pgbouncer