Difference between revisions of "Performance Analysis and Troubleshooting"
From Opentaps Wiki
Jump to navigationJump to searchLeonTorres (talk | contribs) m (→Monitoring Deadlocks in PostgreSQL) |
LeonTorres (talk | contribs) m (→Monitoring Deadlocks in PostgreSQL) |
||
Line 9: | Line 9: | ||
select pg_class.relname, pg_locks.mode, pg_locks.relation, pg_locks.transaction, pg_locks.pid | select pg_class.relname, pg_locks.mode, pg_locks.relation, pg_locks.transaction, pg_locks.pid | ||
from pg_class, pg_locks | from pg_class, pg_locks | ||
− | where pg_class.relfilenode=pg_locks.relation | + | where pg_class.relfilenode = pg_locks.relation |
order by pid | order by pid | ||
</pre> | </pre> | ||
This will show what kinds of locks are active on what entities. If there is an exclusive lock on a table followed by a bunch of pids that are waiting for it, then you have a deadlock. | This will show what kinds of locks are active on what entities. If there is an exclusive lock on a table followed by a bunch of pids that are waiting for it, then you have a deadlock. |
Revision as of 00:53, 24 January 2008
This is a page to assist with performance analysis and troubleshooting.
Monitoring Deadlocks in PostgreSQL
You can monitor any database locks using the Entity SQL Processor in Webtools -> Entity SQL Processor with the following query,
select pg_class.relname, pg_locks.mode, pg_locks.relation, pg_locks.transaction, pg_locks.pid from pg_class, pg_locks where pg_class.relfilenode = pg_locks.relation order by pid
This will show what kinds of locks are active on what entities. If there is an exclusive lock on a table followed by a bunch of pids that are waiting for it, then you have a deadlock.