postgresql-解决-update-waiting-问题

早晨起来,发现postgresql进程有:postgres: app app [local] UPDATE waiting 更新等待现象。本着现解决问题,再排查原因的原则来处理

解决方法

登录到postgresql的管理界面

1
2
3
4
5
6
7
8
# 执行下面语句会发现好多事务
# SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,
pg_stat_get_backend_activity(s.backendid) AS current_query
FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;
# select oid from pg_class where relname='上面锁住表的名称'
# select pid from pg_locks where relation='上面查出的oid' # 如果有结果则该表被锁住,需要释放锁定
# select pg_cancel_backend(上面查到的pid)