高斯数据库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)

相关推荐
Hope Fancy2 分钟前
macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库
macos·docker·postgresql
John Song2 分钟前
macOS 上使用 Homebrew 安装redis-cli
数据库·redis·macos
数据知道10 分钟前
Mac电脑上本地安装 redis并配置开启自启完整流程
数据库·redis·macos
Lonely丶墨轩11 分钟前
Redis 缓存策略:借助缓存优化数据库性能并保障数据一致性
数据库·redis·缓存
GUIQU.15 分钟前
【Oracle】分区表
数据库·oracle
Wooden-Flute19 分钟前
五、查询处理和查询优化
服务器·数据库·oracle
曹牧20 分钟前
Delphi中实现批量插入数据
数据库·oracle
卷积殉铁子31 分钟前
SQL注入之联合查询注入
数据库
小屁孩大帅-杨一凡1 小时前
在 Oracle 中,创建不同类型索引的 SQL 语法
数据库·sql·oracle
西柚小萌新1 小时前
【大模型:知识图谱】--5.neo4j数据库管理(cypher语法2)
数据库·知识图谱·neo4j