Thursday, February 28, 2013

Random postgresql tasks

Getting the foreign key references to a table


SELECT
    tc.constraint_name, tc.table_name, kcu.column_name, 
    ccu.table_name AS foreign_table_name,
    ccu.column_name AS foreign_column_name 
FROM 
    information_schema.table_constraints AS tc 
    JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name
    JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'FOREIGN KEY' AND ccu.table_name='table_name';

Getting the numbers of connections to the server


select datname, client_addr, usename, Count(1) As connections
from pg_stat_activity
group by datname, client_addr, usename
order by datname, client_addr