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

相关推荐
奋斗者职场日记2 小时前
redis高性能键值数据库技术简介
数据库·redis·缓存
我爱夜来香A2 小时前
Sql进阶:字段中包含CSV,如何通过Sql解析CSV成多行多列?
数据库·sql
TracyDemo3 小时前
postgresql.conf与postgresql.auto.conf区别
数据库·postgresql
小吕学编程3 小时前
开发中SQL积累
java·数据库·sql
渗透测试老鸟-九青3 小时前
通过组合Self-XSS + CSRF得到存储型XSS
服务器·前端·javascript·数据库·ecmascript·xss·csrf
Narutolxy4 小时前
深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
数据库·mysql
有那么一瞬间啊4 小时前
PGSQL记录
数据库
2401_833755814 小时前
PostgreSQL 页损坏如何修复
数据库·postgresql
Elastic 中国社区官方博客5 小时前
Elasticsearch retrievers 通常与 Elasticsearch 8.16.0 一起正式发布!
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索