在知道是哪个表被锁了的前提下:
查询是否锁表
--查询是否锁表了
--根据表名查询
select oid from pg_class where relname = 'table_name';
--根据查出来的oid查询pid
select pid from pg_locks where relation = 'oid';
释放锁
--如果查询到了结果,表示该表被锁,则需要释放锁定
select pg_cancel_backend('pid');
在不知道是哪个表被锁了的情况下:
查询处于等待中的process
--查询正在运行的process中处于等待中的process
SELECT * FROM pg_stat_activity WHERE waiting='t';
释放锁
--如果查询到了结果,表示该表被锁,则需要释放锁定
select pg_cancel_backend('pid');