当前位置:   article > 正文

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

pg锁表解决办法
查询锁表语句和 pid:

select pid, query from pg_stat_activity where datname=‘数据库名’ and wait_event_type = ‘Lock’;

可以看到那些执行 sql 语句的进程被锁了,卡住了。
在这里插入图片描述

批量删除锁进程

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

2、通过 sql 语句拼装可以方便的把所有进程号封装起来,进而进行批量解
select ‘select pg_cancel_backend( ‘’’|| pid ||‘’‘);’ pid from pg_stat_activity where datname=‘auto_2012_oracle_yz1’ and wait_event_type = ‘Lock’;
在这里插入图片描述
查询后的结果复制下来可以直接执行。

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');
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

可以达到批量解锁表的功能。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/236758
推荐阅读
相关标签
  

闽ICP备14008679号