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

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

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

通过 sql 语句拼装可以方便的把所有进程号封装起来,进而进行批量解锁
select 'select pg_cancel_b计算机科学与技术专业ackend( '''|| pid ||''');' pid from pg_stat_activity where dat舍曲林name='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');

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

                                            PG 数据库锁表问题解决方案:查询pg数据库锁表的语句和进程,通过进程pid杀掉进程进行批量表解锁
喜欢的点个赞❤吧!