执行 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语句。
意见反馈