Contents
pgrowlocks
A contrib module providing a function to show row locking information for a specified table
pgrowlocks
is a contrib module which provides a function, pgrowlocks()
, to show row locking information for a specified table.
pgrowlocks
was added in PostgreSQL 8.2.
Change history
- PostgreSQL 10
- members of the new
default role
"pg_stat_scan_tables
" may now executepgrowlocks()
(commit 25fff407)
- members of the new
- PostgreSQL 9.6 (version 1.2)
parallel query
support added (commit 9164deea)
- PostgreSQL 9.3 (version 1.1)
- following changes made to
pgrowlocks()
result columns (commit 0ac5ad51):
- column
lock_type
removed - column
mode
added
- column
- following changes made to
- PostgreSQL 9.1 (version 1.0)
- PostgreSQL 8.2
- added (commit 66126f96)
Examples
Example scenario:
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()
execution from a different session:
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)
References
- PostgreSQL documentation: pgrowlocks