1、搜索死锁
通过语句SELECT * FROM pg_stat_activity WHERE datname='databasename' and waiting='t';即可搜索出有死锁的进程,其中databasename为database的名称; 出来的结果中datid即为此database的编号,pid即为死锁的进程号,此部分可以在数据库服务器上的进程中可以看到,通过ps -ef|grep postgres即可看到;
方法一:SELECT pg_cancel_backend(PID),缺点是这种方式只能kill select查询,对update、delete 及DML不生效; 方法二:SELECT pg_terminate_backend(PID),这种可以kill掉各种操作(select、update、delete、drop等)操作
