pgrowlocks
显示行级锁信息
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pgrowlocks | 1.2 | STAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6910 | pgrowlocks | 否 | 是 | 否 | 是 | 否 | 否 | - |
| 相关扩展 | pg_wait_sampling pgsentinel pg_visibility pg_show_plans pg_datasentinel pg_stat_monitor pg_profile |
|---|
版本
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
| 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
安装
提示:这是 PostgreSQL 内核自带的 contrib 扩展
SQL
用法
pgrowlocks 显示表中哪些行当前被锁定、被哪些事务锁定以及锁模式。
函数
SQL
返回列
| 列名 | 类型 | 描述 |
|---|---|---|
locked_row | tid | 被锁定行的元组 ID |
locker | xid | 事务 ID(或多事务 ID) |
multi | boolean | 如果 locker 是多事务则为 true |
xids | xid[] | 所有锁持有者的事务 ID |
modes | text[] | 锁模式:For Key Share、For Share、For No Key Update、For Update 等 |
pids | integer[] | 锁持有后端的进程 ID |
查看被锁定行的内容
SQL
访问权限
限制为超级用户、拥有 pg_stat_scan_tables 角色的成员以及对目标表有 SELECT 权限的用户。
注意事项
- 对目标表获取
AccessShareLock - 不保证产生自洽的快照
- 对大表可能较慢