postgreSQL外部キー参照クエリー
964 ワード
テーブル名に基づいて、すべての外部キーが参照するテーブルと、外部キーのカラム名をクエリーします.
key_column_USage(システム列情報テーブル)、
pg_constraint(システムのすべての制約テーブル)
key_column_USage(システム列情報テーブル)、
pg_constraint(システムのすべての制約テーブル)
SELECT x.table_name,
x.column_name
FROM information_schema.key_column_usage x
INNER JOIN (SELECT t.relname,
a.conname
FROM pg_constraint a
INNER JOIN pg_class ft
ON ft.oid = a.confrelid
INNER JOIN pg_class t
ON t.oid = a.conrelid
WHERE a.contype = 'f'
AND a.confrelid =
(select e.oid
from pg_class e
where e.relname = 'xxx_table')
) tp
ON (x.table_name = tp.relname AND
x.constraint_name = tp.conname)