Database

PostgreSQL: Como saber quais as queries/locks que estão sendo executadas neste momento?

RT.DB.FAQ-8463
Executar a seguinte query:
SELECT datname
, procpid
, current_query
, client_addr
, query_start
, waiting
FROM pg_stat_activity a
WHERE procpid <> pg_backend_pid() -- Esconder o proprio processo
AND current_query <> '<IDLE>'
ORDER BY query_start desc nulls last;

Locks:
select t.relname
, l.locktype
, page
, virtualtransaction
, pid
, mode
, granted
, a.current_query
from pg_locks l
join pg_stat_all_tables t on l.relation = t.relid
join pg_stat_activity a on a.procpid = l.pid
where t.relname not in ('pg_class','pg_index','pg_namespace', 'pg_authid', 'pg_database')
order by relation asc;

Ver:
http://wiki.postgresql.org/wiki/Lock_Monitoring