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

相关推荐
AnsenZhu5 分钟前
Redis Cluster 使用 CRC16 算法实现 Slot 槽位分片的核心细节
数据库·redis·缓存·crc16
MarsBighead11 分钟前
Pgvector+R2R搭建RAG知识库
python·ai·postgresql·rag·pgvector
Jtti28 分钟前
Ubuntu服务器上如何监控Oracle数据库
服务器·数据库·ubuntu
用户62799471826240 分钟前
南大通用GBase 8c备份恢复功能概述
数据库
Hejjon42 分钟前
Mysql 中 select ... for update 加锁总结
java·数据库·mysql
等等54344 分钟前
mysql——索引事务和JDBC编程
数据库·mysql
一个小坑货1 小时前
Docker 部署 PostgreSQL 数据库
数据库·docker·postgresql
Aloudata技术团队1 小时前
Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体
数据库·数据分析·数据可视化
M-bao1 小时前
缓存与数据库一致性方案
数据库·缓存
一念春风1 小时前
C# 音频分离(MP3伴奏)
数据库·c#·音视频