一、找出所的语句

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. Oracle Apps DBA R12.2 Syllabus

    1. What is Oracle R12.2 R12.2 Definition Architecture Advantages of R12.2 Limitations of R12.2 What ...

  2. md5目录下的文件包括子目录

    find ./ -type f -print0 | xargs -0 md5sum

  3. 用SwipeBackLayout实现滑动关闭当前Activity

    说起SwipeBackLayout,我对它还是有一定怨念的.当时就希望能实现关闭当前Activity的效果,但完全搜不当相关的东西,最后好不容易搜到了这个SwipeBackLayout,觉得可以实现滑 ...

  4. Universal-Image-Loader解析(二)——DisplayImageOptions的详细配置与简单的图片加载

    在使用这个框架的时候,我们必须要配置一个DisplayImageOptions对象来作为ImageLoader.getInstance().displayImage()中的参数,所以很有必要讲解这个对 ...

  5. protobuf语法简介2

    protobuf语法简介2 1.optional的字段和默认值 如上所述,消息描述中的一个元素可以被标记为"可选的"(optional).一个格式良好的消息可以包含0个或一个opt ...

  6. 对拍练习:A+B

    源程序: /* Problem: OJ: User: S.B.S. Time: Memory: Length: */ #include<iostream> #include<cstd ...

  7. 用SLF4j/Logback打印日志-2

    本篇主要介绍logback的输出源配置,logback默认提供了很多输出源,但是用的最多的是这几种: OutputStreamAppender 日志输出到一个二进制流,可以通过 <encoder ...

  8. WHY数学图形显示工具

    软件功能:输入一个二元数学表达式,含有两个参数变量X和Y,显示该数学表达式的三维图形. 很久之前就有写这个软件的想法,却一直没有激情和动力,终于在年假这两天完成了.以此软件纪念我那十几年前的高中生活, ...

  9. go语言之进阶篇json解析到结构体

    1.json解析到结构体 示例: package main import ( "encoding/json" "fmt" ) type IT struct { ...

  10. AS 功能 设置 SDK AVD 简介 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...