Postgres查询的运行时间超过statement_timeout

时间:2018-09-26 01:37:57

标签: sql postgresql

我在我的Postgres数据库中将某个用户的statement_timeout设置为10000(10秒)。但是,当我查看pg_stat_activity中的活动查询时,发现运行了10秒钟以上的查询(在某些情况下超过10分钟)。我在执行这些查询的角色上设置了statement_timeout,并验证了用户在pg_user表中设置了statement_timeout=10000

这些语句都是插入内容,我已经证实没有未使用的锁。

为什么这些查询在超时后没有被杀死?

1 个答案:

答案 0 :(得分:1)

问题似乎在于交易处于idle状态(由于这是Postgres 10,我可以进一步告诉您wait_eventClientRead),这意味着它们是由不同的超时控制(尽管文档对此不明确)。要设置的相关配置是idle_in_transaction_session_timeout