get_lock_monitoring
Monitor PostgreSQL locks and deadlocks to diagnose lock contention, identify blocked and blocking sessions, and filter results by status, mode, type, state, or user.
Instructions
[Tool Purpose]: Monitor current locks and potential deadlocks in PostgreSQL
[Exact Functionality]:
List all current locks held and waited for by sessions
Show blocked and blocking sessions, lock types, and wait status
Help diagnose lock contention and deadlock risk
Filter results by granted status, state, mode, lock type, or username
[Required Use Cases]:
When user requests "lock monitoring", "deadlock check", "blocked sessions", etc.
When diagnosing performance issues due to locking
When checking for blocked or waiting queries
When filtering specific types of locks or users
[Strictly Prohibited Use Cases]:
Requests for killing sessions or force-unlocking
Requests for lock configuration changes
Requests for historical lock data (only current state is shown)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Filter by lock mode ("AccessShareLock", "ExclusiveLock", etc.) | |
| state | No | Filter by session state ("active", "idle", "idle in transaction", etc.) | |
| granted | No | Filter by granted status ("true" or "false") | |
| locktype | No | Filter by lock type ("relation", "transactionid", "virtualxid", etc.) | |
| username | No | Filter by specific username | |
| database_name | No | Database name to analyze (uses default database if omitted) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |