首页 > 代码库 > POSTGRESQL 锁表的问题
POSTGRESQL 锁表的问题
一、找出所的语句
select wait.pid, wait.query as wait_query, wait.query_start as wait_query_start, wait.locktype, granted.pid as waitfor_pid, granted.relation, granted.datname || ‘.‘ || d.nspname || ‘.‘ || c.relname as name, granted.transactionid, granted.virtualxid, granted.usename, granted.client_addr, granted.query_start, granted.queryfrom (select a.query, a.query_start, b.pid, b.relation, b.transactionid, b.page, b.tuple, b.locktype, b.virtualxid from pg_stat_activity a, pg_locks b where a.waiting = ‘t‘ and a.pid = b.pid and granted = ‘f‘ ) waitjoin (select b.pid, b.usename, b.client_addr, b.backend_start, b.query_start, b.waiting, b.query, b.datname, a.relation, a.transactionid, a.page, a.tuple, a.locktype, a.virtualxid from pg_locks a, pg_stat_activity b where a.pid = b.pid and a.granted = ‘t‘ ) grantedon ( ( wait.locktype = ‘transactionid‘ and granted.locktype = ‘transactionid‘ and wait.transactionid = granted.transactionid ) or ( wait.locktype = ‘relation‘ and granted.locktype = ‘relation‘ and wait.relation = granted.relation ) or ( wait.locktype = ‘virtualxid‘ and granted.locktype = ‘virtualxid‘ and wait.virtualxid = granted.virtualxid ) or ( wait.locktype = ‘tuple‘ and granted.locktype = ‘tuple‘ and wait.relation = granted.relation and wait.page = granted.page and wait.tuple = granted.tuple ))left join pg_class con ( c.relfilenode = wait.relation )left join pg_namespace don ( c.relnamespace = d.oid )order bygranted.query_start;
二、杀掉依赖的sql
select pg_terminate_backend(进程id)
POSTGRESQL 锁表的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。