2020
12-30
12-30
基于postgresql数据库锁表问题的解决
查询是否锁表了selectoidfrompg_classwhererelname='可能锁表了的表'selectpidfrompg_lockswhererelation='上面查出的oid'如果查询到了结果,表示该表被锁则需要释放锁定selectpg_cancel_backend(上面查到的pid)补充:PostgreSQL解决锁表、死锁问题1.--查询ACTIVITY的状态等信息SELECTT.PID,T.STATE,T.QUERY,T.WAIT_EVENT_TYPE,T.WAIT_EVENT,T.QUERY_STARTFROMPG_STAT_ACTIVITYTWHERET.DATNAME='数据...
继续阅读 >
如下:select*frompg_stat_activity查询系统中的进程如果怀疑哪张表被锁了,可以执行如下sql:selectoidfrompg_classwhererelname='table_name'然后将拿到的oid放入如下sql执行:selectpg_cancel_backend('oid');;搞定!此sql是kill作用补充:PostgreSQL-如何杀死被锁死的进程前言在一次系统迭代后用户投诉说无法成功登陆系统,经过测试重现和日志定位,最后发现是由于用户在ui上进行了某些操作后,触发了堆栈溢出...