I have a two tables in the database. First table has a foreign key to second table.
Can I get second table name by the foreign key from first table?
Yes, you can.
SELECT ct.oid, conname, condeferrable, condeferred, confupdtype, confdeltype, confmatchtype, conkey, confkey, confrelid, nl.nspname as fknsp, cl.relname as fktab, nr.nspname as refnsp, cr.relname as reftab, description, convalidated
FROM pg_constraint ct
JOIN pg_class cl ON cl.oid=conrelid
JOIN pg_namespace nl ON nl.oid=cl.relnamespace
JOIN pg_class cr ON cr.oid=confrelid
JOIN pg_namespace nr ON nr.oid=cr.relnamespace
LEFT OUTER JOIN pg_description des ON (des.objoid=ct.oid AND des.classoid='pg_constraint'::regclass)
WHERE contype='f' AND ct.conname = 'yourfk_name' -- conrelid = 26941::oid
ORDER BY conname;
Just valorize yourfk_name with your foreign_key name. Or use oid if prefered.
This works on 9.3 but I think also 9.x.