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

相关推荐
java1234_小锋1 天前
REDIS集群会有写操作丢失吗?为什么
数据库·redis·缓存
兰若姐姐1 天前
如何进行MSSQL提权?sp_oacreate、sp_oamethod和沙盒提权以及xp_regwrighte提权
数据库·sqlserver
一抓掉一大把1 天前
秒杀-订单创建消费者CreateOrderConsumer
网络·数据库
一只小bit1 天前
MySQL事务:如何保证ACID?MVCC到底如何工作?
数据库·mysql·oracle
小猪咪piggy1 天前
【项目】小型支付商城 MVC/DDD
java·jvm·数据库
向阳而生,一路生花1 天前
redis离线安装
java·数据库·redis
·云扬·1 天前
使用pt-archiver实现MySQL数据归档与清理的完整实践
数据库·mysql
黄焖鸡能干四碗1 天前
信息安全管理制度(Word)
大数据·数据库·人工智能·智慧城市·规格说明书
zhangyifang_0091 天前
PostgreSQL一些概念特性
数据库·postgresql
weixin_46681 天前
安装Zabbix7
数据库·mysql·zabbix