pgrowlocks
是一个 Contrib 模块,它提供了一个函数 pgrowlocks()
,用于显示指定表的行锁定信息。
pgrowlocks
添加于 PostgreSQL 8.2。
更改历史记录
- PostgreSQL 17
- 标签
Share
和Key Share
更改为For Share
和For Key Share
(提交 15d5d740)
- 标签
- PostgreSQL 10
- PostgreSQL 9.6 (版本 1.2)
- 添加了
并行查询
支持 (提交 9164deea)
- 添加了
- PostgreSQL 9.3 (版本 1.1)
- 对
pgrowlocks()
结果列进行了以下更改 (提交 0ac5ad51)
- 删除了列
lock_type
- 添加了列
mode
- 删除了列
- 对
- PostgreSQL 9.1 (版本 1.0)
- PostgreSQL 8.2
- 添加 (提交 66126f96)
示例
pgrowlocks
的用法示例
ostgres=# CREATE EXTENSION pgrowlocks ; CREATE EXTENSION postgres=# CREATE TABLE foo (id INT PRIMARY KEY, val TEXT); CREATE TABLE postgres=# INSERT INTO foo values(generate_series(1,10)); INSERT 0 10 postgres=# BEGIN; BEGIN postgres=*# UPDATE foo SET val = id::TEXT WHERE id < 3; UPDATE 2 postgres=*# UPDATE foo SET id = 11 WHERE id = 10; UPDATE 1
pgrowlocks()
从不同会话执行
postgres=# SELECT * FROM pgrowlocks('foo'); locked_row | locker | multi | xids | modes | pids ------------+--------+-------+-------+-------------------+----------- (0,1) | 524 | f | {524} | {"No Key Update"} | {3583444} (0,2) | 524 | f | {524} | {"No Key Update"} | {3583444} (0,10) | 524 | f | {524} | {Update} | {3583444} (3 rows)
参考文献
- PostgreSQL 文档: pgrowlocks