Useful Queries to admin postgres
Here are some of my favorite postgres queries to help administrate postgres.
Identify slowest running queries.
SELECT
pid,
current_timestamp - xact_start as xact_runtime,
query
FROM pg_stat_activity
ORDER BY xact_start;
Identify existing locks in postgres, good for finding deadlocks.
SELECT pg_class.relname,pg_locks.*
FROM pg_class,pg_locks
WHERE pg_class.relfilenode=pg_locks.relation;
See foreign key constraints.
SELECT c.constraint_name
, x.table_schema as schema_name
, x.table_name
, x.column_name
, y.table_schema as foreign_schema_name
, y.table_name as foreign_table_name
, y.column_name as foreign_column_name
FROM information_schema.referential_constraints c
join information_schema.key_column_usage x
on x.constraint_name = c.constraint_name
join information_schema.key_column_usage y
on y.ordinal_position = x.position_in_unique_constraint
and y.constraint_name = c.unique_constraint_name
order by c.constraint_name, x.ordinal_position;
Show active connections
SELECT count(*)
FROM pg_stat_activity;
Written on December 31, 2013