高斯数据库Postgresql死锁和锁表解决方法

解决死锁进方法:

  1. 查询死锁进程列表

select * from pg_stat_activity where waiting='t'

发现有好几条挂起的记录,记录下所有或需要解锁的pid

  1. 解决死锁进程

select pg_cancel_backend('pid值')

解决完后,刷新后测试,恢复正常。

注:如果pg_stat_activity没有记录,可以查询pg_locks这个表中是否有锁定的记录

可以使用pg_cancle_backend()或者pg_terminate_backend()结束锁定的进程。

解决锁表的方法:

--查询是否锁表了

select oid from pg_class where relname='可能锁表了的表'

select pid from pg_locks where relation='上面查出的oid'

--如果查询到了结果,表示该表被锁 则需要释放锁定

select pg_cancel_backend(上面查到的pid)

相关推荐
vivo互联网技术24 分钟前
活动中台系统慢 SQL 治理实践
java·数据库·后端
爱可生开源社区29 分钟前
当测试工具开始「思考」,是工具还是「同事」?
数据库
haven-8521 小时前
duckdb不支持向量
数据库·oracle
崖山数据库系统YashanDB1 小时前
YashanDB hint语法
数据库
apcipot_rain1 小时前
【数据库原理及安全实验】实验一 数据库安装与创建
数据库·安全
京东零售技术1 小时前
ClickHouse 的“独孤九剑”:极速查询的终极秘籍
数据库
这个懒人1 小时前
MongoDB 核心机制解析
数据库·mongodb·nosql
天上的光2 小时前
数据库原理
数据库
alksql2 小时前
架构思路法
数据库·架构
Lethehong2 小时前
崖山YashanDB:下一代国产分布式数据库的架构革新与行业实践
数据库·分布式·架构