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

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

     

查询锁表语句和 pid

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

可以看到那些执行 sql 语句的进程被锁了,卡住了。

image.png

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';

image.png    

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

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');

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

image.png

喜欢的点个赞❤吧!

   

目录
相关文章
|
7月前
|
Windows
windows环境下根据端口号查询进程编号并杀掉此进程
windows环境下根据端口号查询进程编号并杀掉此进程
|
1月前
|
SQL 关系型数据库 MySQL
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
定时任务频繁插入数据导致锁表问题 -> 查询mysql进程
47 1
|
4月前
|
Windows
Windows中如何查看被占用的端口、杀掉对应的进程
这篇文章介绍了在Windows系统中如何查看被占用的端口号以及如何杀掉占用端口的进程,包括使用命令提示符的`netstat -ano | findstr 端口号`命令查找进程PID,然后通过任务管理器或`taskkill /PID PID号`命令来结束进程。
Windows中如何查看被占用的端口、杀掉对应的进程
|
5月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
37 0
|
5月前
|
应用服务中间件 nginx
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
cmd 杀掉 nginx后台进程 命令杀掉nginx后台 nginx 常用命令
485 0
|
6月前
|
Java 数据库连接 API
解锁你的数据库:JPA和Hibernate的乐观锁与悲观锁
本文由木头左介绍JPA和Hibernate中的乐观锁与悲观锁。乐观锁假设无冲突,通过`@Version`注解防止并发更新,适用于更新不频繁、处理冲突成本高、数据一致性要求不高的场景。悲观锁假设有冲突,利用`@Lock`注解实现加锁,适用于并发更新频繁、处理冲突成本低、数据一致性要求高的情况。选择哪种锁取决于具体需求。
解锁你的数据库:JPA和Hibernate的乐观锁与悲观锁
|
7月前
|
Linux Shell
【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】
【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】
|
7月前
|
前端开发 Android开发 iOS开发
应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
【2月更文挑战第31天】应用研发平台EMAS使用 aliyun-react-native-push 库接入推送和辅助通道,推送都可以收到,但是在App切到后台或者杀掉进程之后就收不到推送了,是需要配置什么吗?
128 2
|
7月前
|
Java Shell
通过端口杀掉进程的脚本
通过端口杀掉进程的脚本
42 0
|
7月前
驱动保护 -- 通过PID保护指定进程
驱动保护 -- 通过PID保护指定进程
70 0
驱动保护 -- 通过PID保护指定进程