一、找出所的语句

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. ios测试宏指令出错:“Expected identefier”

    写了一个简单的测试宏指令,然后在下面代码中报错,不知道怎么修复?谢谢 #define test(condition) do{\ if (condition) {\ //// <-----Expe ...

  2. sql 注释 语法

    mysql 服务器支持 # 到该行结束.-- 到该行结束 以及 /* 行中间或多个行 */ 的注释方格: mysql> SELECT 1+1; # 这个注释直到该行结束mysql> SEL ...

  3. java swing MenuItem乱码处理

    用java开发一个带有托盘图标的程序, 其它模块的中文显示都是正常的,就只有托盘中点击小图标时弹出的菜单中的中文是方框(中文方块) 解决: 1: 在你的具有main函数的类也即你应用运行的主类上点击右 ...

  4. Java实现bt文件下载、制作、解析、磁力链接

    首先torrent里面肯定携带的有一些信息,所以就需要我们来解析这些信息. 我们这里做多文件制作torrent,所以首先要针对每一个文件建一个实体类 import java.util.List; pu ...

  5. solc 编译Solidity

    安装 sudo add-apt-repository ppa:ethereum/ethereum sudo apt-get update sudo apt-get install solc 编译 so ...

  6. Android反编译工具的用法

    Android的APK文件时可以反编译的,通过反编译我们就能查看到大体的代码,帮助学习.反编译仅仅提供的是学习的方式,禁止使用该技术进行非法活动. 其实就是两个命令: 1:运行(WIN+R)-> ...

  7. 短址服务 api

    1  is.gd 他这个api简单: http://is.gd/api.php?longurl= 后面加网址就可以返回短址 2 Google URL Shortener API api地址: http ...

  8. Solr搜索结果说明 (转)

    在admin页面,输入相关内容后,会返回xml格式的内容.说明如下: <?xml version="1.0" encoding="UTF-8"?> ...

  9. 硬链接(hard link)和符号连接(symbolic link)

    inode ====== 在Linux系统中,内核为每一个新创建的文件分配一个inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置.文 ...

  10. 纯css解决div隐藏浏览器原生滚动条,但保留鼠标滚动效果的问题

    当我们的内容超出了我们的div,往往会出现滚动条,影响美观.尤其是当我们在做一些导航菜单的时候.滚动条一出现就破坏了UI效果.  我们不希望出现滚动条,也不希望超出去的内容被放逐,就要保留鼠标滚动的效 ...