查询PostGreSQL数据库中是否有死锁的情况;

1、执行语句

  -- 查询数据库中有没有死锁 :granted :如果持有锁,为真t如果等待锁,为假f
  select * from pg_locks where granted='f'
2、pg_locks中各字段的含义

  

 

 3、如果出现死锁,则杀死进程

  杀死进程的两种方式,

第一种是:

  select pg_cancel_backend(PID);

  这种方式只能kill select的查询,对于upload、delete及DML不生效;

第二种:

  select pg_terminate_backend(PID)

  这种方式可以kill掉各种操作,select,update、delete、drop等操作引起的死锁

posted @ 2020-12-11 20:18  whynotbi  阅读(2097)  评论(0编辑  收藏  举报