欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jdbcpstmt.executeQuery()程序中断引起的问题(数据库postgrelsql)

程序员文章站 2024-01-28 20:29:34
jdbcpstmt.executeQuery()程序中断引起的问题(数据库postgrelsql) 问题现象: 代码执行pstmt.executeQuery()程序中断,没有排...

jdbcpstmt.executeQuery()程序中断引起的问题(数据库postgrelsql)

问题现象:

代码执行pstmt.executeQuery()程序中断,没有排除任何异常信息。

原因:execute操作对应的数据库表被锁。

postgrelsql查看表被锁方法:

第一步:查看表锁

select a.locktype,a.database,a.pid,a.mode,a.relation,b.relname

from pg_locks a

join pg_class b on a.relation = b.oid

where upper(b.relname) like '%大写表名%';

第二步:根据pid查询产生锁的sql语句

select * from pg_stat_activity t where t.pid = 10308 or t.pid = 6828;

如有需要可以在db服务器上用ps -ef|grep pid查看进程,或者用kill pid杀死进程。

参考文章:https://www.linuxidc.com/Linux/2015-11/125329.htm