一、找出所的语句

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.query
from
(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'
) wait
join
(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'
) granted
on (
( 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 c
on ( c.relfilenode = wait.relation )
left join
pg_namespace d
on ( c.relnamespace = d.oid )
order by
granted.query_start
;

二、杀掉依赖的sql

select pg_terminate_backend(进程id)

POSTGRESQL 锁表的问题的更多相关文章

  1. postgresql 锁表查询语句

    1 查找锁表的pid select pid from pg_locks l join pg_class t on l.relation = t.oid where t.relkind = 'r' an ...

  2. Postgresql 解决锁表

    转载地址:https://blog.csdn.net/cicon/article/details/68068462##一.postgresql解决锁表--查询是否锁表了select oid from ...

  3. postgresql解决锁表

    --查询是否锁表了select oid from pg_class where relname='可能锁表了的表'select pid from pg_locks where relation='上面 ...

  4. PostgreSQL的表空间

    1. 表空间的概念 PostgreSQL中的表空间允许在文件系统中定义用来存放表示数据库对象的文件的位置.在PostgreSQL中表空间实际上就是给表指定一个存储目录. 2. 表空间的作用 官方解释 ...

  5. mysql遇到锁表常用命令

    出现 waiting for table metadata lock 锁表的解决方法 1. show processlist; kill xxx; //xxx 为会话id 2.查询是否有未提交的事物 ...

  6. sqlserver锁表、解锁、查看销表 (转载)

    sqlserver中怎么锁表.解锁.查看销表呢,下面我以三个不同的实例给各位朋友详细介绍一下有需要的朋友可参考一下. 更多详细内容请查看:http://www.111cn.net/database/O ...

  7. oracle 锁表问题

    oracle执行表数据更新的时候,会遇到锁表问题,比方说,会遇到这样的问题,主要原因是这张表被其他人占用,修改数据没有提交.oracle为了避免脏数据的产生,在其安全机制下,锁住该表. 执行如下操作, ...

  8. 解决ora-00054 Oracle锁表问题

    1.运行sql: select session_id from v$locked_object;   查出锁表的session,可能很多,正常是没有的 2.SELECT sid, serial#, u ...

  9. oracle并发请求异常,运行时间超长(一般情况下锁表)

    1.如果前台无法取消请求出现错误: 则后台更新 update fnd_concurrent_requests    set status_code = 'X', phase_code = 'C'  w ...

随机推荐

  1. 在Android工程中加入AIDL文件时,gen目录生成的文件报错-问题解决

    from://http://blog.csdn.net/watt520/article/details/10099047 今天在弄清除缓存的东东,按照网上别人的方法,创建了一个AIDL文件,这个时候发 ...

  2. Android基础笔记(九)- 广播

    广播的概念 广播的生命周期 案例-监听短信到来并解析短信内容 案例-拦截外拨电话并设置区号 案例-SD卡状态监听 介绍一些经常使用的广播 发送自己定义广播 有序广播和无序广播 启程!! ! 广播的概念 ...

  3. 冰川时代5:星际碰撞Ice Age: Collision Course迅雷下载

    影片讲述松鼠奎特为了追松果,偶然引发了宇宙事件,改变并威胁着冰川时代的世界.为了拯救自己,话唠树懒希德.猛犸象曼尼.剑齿虎迪亚哥,以及别的动物群族必须离开家园,踏上了他们充满喜剧色彩的冒险旅程,他们来 ...

  4. 转帖:向开源项目贡献源码(以 Orchard 为例)

    原文地址:http://yangw80.blog.163.com/blog/static/247518002201552692516908/ 在开源项目满天飞的时代,仅仅把开源项目拿来用是不够的,要适 ...

  5. Kendall Rank(肯德尔等级)相关系数

    1.简介在统计学中,肯德尔相关系数是以Maurice Kendall命名的,并经常用希腊字母τ(tau)表示其值.肯德尔相关系数是一个用来测量两个随机变量相关性的统计值.一个肯德尔检验是一个无参数假设 ...

  6. poj 2240 Arbitrage 题解

    Arbitrage Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 21300   Accepted: 9079 Descri ...

  7. Chart/Report资源目录

    ylbtech-Chart:Chart/Report资源目录 1.Chart.js返回顶部 1-0.官网 http://www.chartjs.org 1-1.实例 http://www.chartj ...

  8. AndroidManifest.xml文件解析(转帖)

    原帖地址:http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html 一.关于AndroidManifest.xml       And ...

  9. 算法: 实现LRU缓存,读取、写入O(1)实现

    这题应该见的不少了,写写记录一下. 实现该功能分析: (1) O(1) 时间完成查找,那除了 hash 别无选择. (2) LRU 最近最少使用算法,为了方便数据的淘汰.需要对最近访问的数据放未访问数 ...

  10. Mac-OSX下Ruby更新

    Mac下是自带Ruby环境的,在有些情况我们是需要更新Ruby的,安装和更新Ruby环境可以通过rvm命令进行操作,rvm在安装过程中通过HomeBrew安装依赖包,如果之前没有装过HomeBrew, ...