执行 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语句。

意见反馈
编组 3备份
2024-02-22 03:35:30
取消