pgsql 阻塞问题
当pgsql发生阻塞时,极有可能发生锁表了。
可以用一下命令,解决。
- 查询是否锁表了
select oid from pg_class where relname='可能锁表了的表'
select pid from pg_locks where relation='上面查出的oid'
查看当前的进程,query字段显示ddl或dml语句
SELECT * FROM pg_stat_activity where datname=数据库名
查看等待中的进程
select * from pg_stat_activity WHERE datname='aaa' and wait_event_type = 'Lock'
2.如果查询到了结果,表示该表被锁 则需要释放锁定
select pg_cancel_backend(上面查到的pid)