当前位置: 首页 > news >正文

PostgreSQL查看当前锁信息

PostgreSQL查看当前锁信息

基础信息
OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:16.2
pg软件目录:/home/pg16/soft
pg数据目录:/home/pg16/data
端口:5777

查看当前锁信息的sql

SELECT pg_stat_activity.datname,pg_locks.pid,pg_class.relname,pg_locks.transactionid,pg_locks.granted,pg_locks.mode,pg_stat_activity.query as query_snippet,age(now(), pg_stat_activity.query_start) as age 
FROM pg_stat_activity, pg_locks LEFT OUTER JOIN pg_class 
ON (pg_locks.relation = pg_class.oid) 
WHERE pg_stat_activity.pid = pg_locks.pidAND pg_stat_activity.pid <> pg_backend_pid() 
ORDER BY query_start;

示例1

行级共享锁

white=# BEGIN;
BEGIN
white=*# SELECT * FROM yewu1.t1 WHERE id = 1 FOR SHARE;id 
----1
(1 row)
postgres=# SELECT 
postgres-#     pg_stat_activity.datname,
postgres-#     pg_locks.pid,
postgres-#     pg_class.relname,
postgres-#     pg_locks.transactionid,
postgres-#     pg_locks.granted,
postgres-#     pg_locks.mode,
postgres-#     pg_stat_activity.query as query_snippet,
postgres-#     age(now(), pg_stat_activity.query_start) as age 
postgres-# FROM 
postgres-#     pg_stat_activity, pg_locks LEFT OUTER JOIN pg_class 
postgres-# ON 
postgres-#     (pg_locks.relation = pg_class.oid) 
postgres-# WHERE 
postgres-#     pg_stat_activity.pid = pg_locks.pid
postgres-#     AND pg_stat_activity.pid <> pg_backend_pid() 
postgres-# ORDER BY 
postgres-#     query_start;datname | pid  | relname | transactionid | granted |     mode      |                 query_snippet                  |       age       
---------+------+---------+---------------+---------+---------------+------------------------------------------------+-----------------white   | 6320 |         |               | t       | RowShareLock  | SELECT * FROM yewu1.t1 WHERE id = 1 FOR SHARE; | 00:00:15.839986white   | 6320 |         |               | t       | ExclusiveLock | SELECT * FROM yewu1.t1 WHERE id = 1 FOR SHARE; | 00:00:15.839986white   | 6320 |         |        268808 | t       | ExclusiveLock | SELECT * FROM yewu1.t1 WHERE id = 1 FOR SHARE; | 00:00:15.839986
(3 rows)postgres=# 

示例2

行级排他锁

white=# BEGIN;
BEGIN
white=*# SELECT * FROM yewu1.t1 WHERE id = 1 FOR UPDATE;id 
----1
(1 row)
postgres=# SELECT 
postgres-#     pg_stat_activity.datname,
postgres-#     pg_locks.pid,
postgres-#     pg_class.relname,
postgres-#     pg_locks.transactionid,
postgres-#     pg_locks.granted,
postgres-#     pg_locks.mode,
postgres-#     pg_stat_activity.query as query_snippet,
postgres-#     age(now(), pg_stat_activity.query_start) as age 
postgres-# FROM 
postgres-#     pg_stat_activity, pg_locks LEFT OUTER JOIN pg_class 
postgres-# ON 
postgres-#     (pg_locks.relation = pg_class.oid) 
postgres-# WHERE 
postgres-#     pg_stat_activity.pid = pg_locks.pid
postgres-#     AND pg_stat_activity.pid <> pg_backend_pid() 
postgres-# ORDER BY 
postgres-#     query_start;datname | pid  | relname | transactionid | granted |     mode      |                  query_snippet                  |       age       
---------+------+---------+---------------+---------+---------------+-------------------------------------------------+-----------------white   | 6320 |         |               | t       | RowShareLock  | SELECT * FROM yewu1.t1 WHERE id = 1 FOR UPDATE; | 00:00:19.223913white   | 6320 |         |               | t       | ExclusiveLock | SELECT * FROM yewu1.t1 WHERE id = 1 FOR UPDATE; | 00:00:19.223913white   | 6320 |         |        268809 | t       | ExclusiveLock | SELECT * FROM yewu1.t1 WHERE id = 1 FOR UPDATE; | 00:00:19.223913
(3 rows)postgres=# 

谨记:心存敬畏,行有所止。

http://www.lryc.cn/news/367000.html

相关文章:

  • 毫米波雷达深度学习技术-1.6目标识别2
  • MineAdmin 前端打包后,访问速度慢原因及优化
  • 使用Obfuscar 混淆WPF(Net6)程序
  • 高中数学:数列-基础概念
  • linux中dd命令以及如何测试读写速度
  • centos官方yum源不可用 解决方案(随手记)
  • langchian_aws模块学习
  • 归并排序-成绩输出-c++
  • ✔️Vue基础+
  • 基于VS2022编译GDAL
  • C语言之字符函数总结(全部!),一篇记住所有的字符函数
  • vite常识性报错解决方案
  • 2024.06.08【读书笔记】丨生物信息学与功能基因组学(第十二章 全基因组和系统发育树 第四部分)【AI测试版】
  • IO进程线程(八)线程
  • Linux基础指令网络管理003
  • 在Android中使用 MQTT 服务实现消息通信
  • qsort函数
  • 你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领域的GPT、开启数据3.0 时代
  • 数据结构笔记2 栈和队列
  • Python | 刷题笔记
  • 软件三班20240605
  • http和https数据传输与协议区分
  • 天才程序员周弈帆 | Stable Diffusion 解读(一):回顾早期工作
  • 软件架构初探
  • Python01 -分解整包数据到各个变量操作和生成器
  • flutter image_picker 执行拍照的图片怎么保存到本地
  • 基于Python的北京天气数据可视化分析
  • Linux编译器-gcc或g++的使用
  • 一条sql的执行流程
  • Android音乐播放器的思路处理