pt-show-locks

Summary

Shows waiting and blocking lock information and those dependencies with the associated queries.

Usage

pt-show-locks [option...]

Options

-h, --host=HOSTNAME
-p, --port=PORT
-U, --username=USERNAME
-d, --dbname=DBNAME
--help

-h, --host Specifies the connecting the PostgreSQL database server name or its IP address. If not specified, to set the value of PGHOST. localhost will be used if no other value has been defined in PGHOST.

-p, --port Specifies the port number of the connecting PostgreSQL database. If not specified, to set the value of PGPORT. 5432 will be used if no value has been defined in PGPORT.

-U, --username Specifies the user name of the PostgreSQL database. If not specified, to set the value of PGUSER. The value of USER will be used If no other value has been defined in PGUSER.

-d, --dbname Specifies the connecting database name. If not specified, to set the value of PGDATABASE. Database name as database user name will be used if no other value has been defined in PGDATABASE.

Output Items

BLOCKER Blocking process id when the lock is waiting.  
PID Backend process id.  
LOCKTYPE Lock type.  
MODE Lock mode.  
GRANTED t on granted f on waiting.
QUERY Query string being executed.  

Examples

Following example shows the lock status with connecting mydb database with postgres user.

$ pg-show-locks -d mydb -U postgres
+---------+------+----------+---------------------+---------+--------------------------------------------+
| BLOCKER | PID  | LOCKTYPE |         MODE        | GRANTED |                   QUERY                    |
+---------+------+----------+---------------------+---------+--------------------------------------------+
|         | 2076 | relation | AccessExclusiveLock | t       | lock TABLE pgbench_accounts;               |
|    2076 | 2049 | relation | RowShareLock        | f       | select * from pgbench_accounts for update; |
|    2076 | 2436 | relation | RowExclusiveLock    | f       | delete from pgbench_accounts;              |
+---------+------+----------+---------------------+---------+--------------------------------------------+
$