Menu

文档

执行 SQL 语句时,提示 Lock wait timeout

问题现象

执行SQL语句时,提示”Lock wait timeout”。

ERROR:  Lock wait timeout: thread 140533638080272 waiting for ShareLock on relation 16409 of database 13218 after 1200000.122 ms ERROR:  Lock wait timeout: thread 140533638080272 waiting for AccessExclusiveLock on relation 16409 of database 13218 after 1200000.193 ms

原因分析

数据库中存在锁等待超时现象。

处理办法

  • 数据库在识别此类错误后,会自动进行重跑,重跑次数可以使用max_query_retry_times控制。

  • 需要分析锁超时的原因,查看系统表pg_locks,pg_stat_activity可以找出超时的SQL语句。

本文档遵循知识共享许可协议CC 4.0 (http://creativecommons.org/Licenses/by/4.0/)。