前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PG 数据库锁表问题解决方案:查询pg数据库锁表的语句和进程,通过进程pid杀掉进程进行批量表解锁

PG 数据库锁表问题解决方案:查询pg数据库锁表的语句和进程,通过进程pid杀掉进程进行批量表解锁

作者头像
小蓝枣
发布2021-12-01 15:03:43
3.2K0
发布2021-12-01 15:03:43
举报
文章被收录于专栏:CSDN博客专家-小蓝枣的博客

查询锁表语句和 pidselect pid, query from pg_stat_activity where datname='数据库名' and wait_event_type = 'Lock'; 可以看到那些执行 sql 语句的进程被锁了,卡住了。

在这里插入图片描述
在这里插入图片描述

select pg_cancel_backend( '进程pid');该语句可以把锁住的进程杀掉。

通过 sql 语句拼装可以方便的把所有进程号封装起来,进而进行批量解锁 select 'select pg_cancel_backend( '''|| pid ||''');' pid from pg_stat_activity where datname='auto_2012_oracle_yz1' and wait_event_type = 'Lock';

在这里插入图片描述
在这里插入图片描述

查询后的结果复制下来可以直接执行。

代码语言:javascript
复制
select pg_cancel_backend( '17275');
select pg_cancel_backend( '31138');
select pg_cancel_backend( '4167');
select pg_cancel_backend( '8426');
select pg_cancel_backend( '8427');
select pg_cancel_backend( '30100');
select pg_cancel_backend( '30102');
select pg_cancel_backend( '30104');
select pg_cancel_backend( '28862');
select pg_cancel_backend( '16557');

可以达到批量解锁表的功能。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档