记录POSTGRESQL死锁问题处理

起因

调度程序每日通过消息接收通知进行日处理"statisticsVpnOnlineJob".从手台登记信息汇总到VPN中的功能操作。

1.系统会定时清理90天前的数据,直接删除按天分区表;
2.由于每日的手台登记量较大,使用JDBC流查询方式,启用游标,每当执行到这个调度的时候,正好赶上清库表操作。导致出现独占锁、共享锁抢锁的情况出现锁表无法继续执行的情况。
3.原来正常情况下独占锁所处理完事务后,释放所后可由其他的共享锁执行,但实际情况是在使用游标的时候已经是独占锁,这时候在游标rs.next循环内再次查询此表时会出现第二把共享锁,当第三把独占锁去删除库表的时候,三把锁互相死锁造成此情况。
4.注意不能在独占锁的情况下进行共享锁操作,除非是在一个事务内。当在一个事务内处理时清库表的独占锁会完成后释放所,由其他动作继续执行。
5.主要还是没想到会有清表操作。。。。

数据中心2.0性能测试出现
@记录问题 by utoken

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值