zoukankan      html  css  js  c++  java
  • PostgreSQL9.5数据库锁表问题分析与解决

    //查询锁表的情况
    SELECT A.locktype,A.DATABASE,A.pid,A.mode,b.relname FROM pg_locks A JOIN pg_class b ON A.relation = b.oid;
    //杀死进程 
    select pg_terminate_backend(pid); //pid为进程id号
    //用于查询系统进程状态的表
    select * from pg_stat_activity;
    主要关注waiting 是否等待中,stat 进程状态, query 具体语句
    当waiting 为t 的进行需要特别注意,query可以查看到具体语句,然后进行查杀
    

    //用于查询系统进程状态的表
    select * from pg_stat_activity;
    主要关注waiting 是否等待中,stat 进程状态, query 具体语句
    当waiting 为t 的进行需要特别注意,query可以查看到具体语句,然后进行查杀
    最终的原因排查为,mq拥堵导致一些流程走不了,代码流程又涉及到更新等操作,产生数据库锁 一直占用着连接的资源 。

    /* NoLock is not a lock mode, but a flag value meaning "don't get a lock" */
    #define NoLock                          0
    #define AccessShareLock                 1 /* SELECT */
    #define RowShareLock                    2 /* SELECT FOR UPDATE/FOR SHARE */
    #define RowExclusiveLock                3 /* INSERT, UPDATE, DELETE */
    #define ShareUpdateExclusiveLock        4 /* VACUUM (non-FULL),ANALYZE, CREATE
                                               * INDEX CONCURRENTLY */
    #define ShareLock                       5 /* CREATE INDEX (WITHOUT CONCURRENTLY) */
    #define ShareRowExclusiveLock           6 /* like EXCLUSIVE MODE, but allows ROW
                                               * SHARE */
    #define ExclusiveLock                   7 /* blocks ROW SHARE/SELECT...FOR
                                               * UPDATE */
    #define AccessExclusiveLock             8 /* ALTER TABLE, DROP TABLE, VACUUM
                                               * FULL, and unqualified LOCK TABLE */
    

    转自:https://www.cnblogs.com/zluckiy/p/12486838.html

  • 相关阅读:
    PC端圣诞树下载
    win7开机一直在正在启动windows界面怎么办?
    EFI、UEFI、MBR、GPT的区别
    进入BIOS中,设置U盘启动
    CSS3摆动动画效果
    比特币钱包搭建与使用
    自动校时工具
    windows7蓝屏0x000000c4
    如何使用webpack打包你的项目
    开源货币/比特币Multiminer、bitrade、bitcoinjs-lib、python-bitcoinrpc介绍
  • 原文地址:https://www.cnblogs.com/caidingyu/p/12760702.html
Copyright © 2011-2022 走看看