早晨起来,发现postgresql进程有:postgres: app app [local] UPDATE waiting 更新等待现象。本着现解决问题,再排查原因的原则来处理
解决方法
登录到postgresql的管理界面12345678# 执行下面语句会发现好多事务# SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,pg_stat_get_backend_activity(s.backendid) AS current_queryFROM (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)