Postgresql 记录一些锁表查询

### 查询数据库 某个sql的情况
SELECT * FROM pg_stat_activity where datname='数据库名称' and query like '%查询sql关键字%';
### 查询数据库锁情况
SELECT * FROM pg_stat_activity where datname='数据库名称' and wait_event_type='Lock';
### 查询对应数据库id与进销存锁的情况
select * from pg_locks where database=453205 and pid=31890;
### 上面得到相关联的id查询这个关联id所有的管理的进程
select * from pg_locks where database=453205 and relation=2704;
### 根据对应的进程查询那条sql导致的
select * FROM pg_stat_activity where datname='数据库名称' and pid=6930;

删除进程

select pg_terminate_backend(pid);
select pg_terminate_backend(pid) from  (select pid from pg_stat_activity where datname = '数据库名'  ) a;

你可能感兴趣的:(Postgresql 记录一些锁表查询)