Locks on objects with relationships

(added version for PG 9.6+) If you want to check for specific object – specify it in WHERE clause. Explanations for the content of the result: connection which locks is selected at the top, connections which waits for lock a bellow every connection has also its...

Lock monitoring

Blocking processes – on PostgreSQL 8.4: SELECT bl.pid          AS blocked_pid, a.usename       AS blocked_user, kl.pid          AS blocking_pid, ka.usename      AS blocking_user, a.current_query AS blocked_statement FROM  pg_catalog.pg_locks         bl JOIN...

How to simulate deadlock in PostgreSQL

If you need to test for example locks or error handling during deadlock you can use following simple example to create deadlock situation. But be aware that this is deadlock “from school book”. Nice and clean and logical. Just to see “how it...

Processes waiting for lock – PostgreSQL 9.3

Query is similar as for pg 8.4 but with small differences in column names because of changes in pg_stat_activity in pg 9.3   with locks as ( with sourcedata as ( select l.pid as connection_id, a.datname as "database", case when a.waiting is false then 'locks' else...