加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL中如何关闭死锁的进程

发布时间:2020-12-13 17:22:52 所属栏目:百科 来源:网络整理
导读:由于使用的PostgreSQL数据库,没有资料。只好进行谷歌。 最终在一个英文论坛中发现了解决方法。 如下: 1.检索出死锁进程的ID。 SELECT * FROM pg_stat_activity WHERE datname=' 死锁的数据库ID '; 检索出来的字段中,【 wating 】字段,数据为t的那条,就

由于使用的PostgreSQL数据库,没有资料。只好进行谷歌。

最终在一个英文论坛中发现了解决方法。

如下:

1.检索出死锁进程的ID。

SELECT * FROM pg_stat_activity WHERE datname='死锁的数据库ID';

检索出来的字段中,【wating】字段,数据为t的那条,就是死锁的进程。找到对应的【procpid】列的值。

2.将进程杀掉。

SELECT pg_cancel_backend('死锁那条数据的procpid值');

结果:运行完后,再次更新这个表,sql顺利执行。

ps:查找了一下数据库自己的函数列表,发现pg_terminate_backend()函数也可以杀掉进程。

官网上给出的内容:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读