SELECT
r.table_name
FROM information_schema.constraint_column_usage u
INNER JOIN information_schema.referential_constraints fk
ON u.constraint_catalog = fk.unique_constraint_catalog
AND u.constraint_schema = fk.unique_constraint_schema
AND u.constraint_name = fk.unique_constraint_name
INNER JOIN information_schema.key_column_usage r
ON r.constraint_catalog = fk.constraint_catalog
AND r.constraint_schema = fk.constraint_schema
AND r.constraint_name = fk.constraint_name
WHERE
u.column_name = 'id' AND
u.table_catalog = 'db_name' AND
u.table_schema = 'public' AND
u.table_name = 'table_a'
これは、完全なカタログ/スキーマ/名前トリプレットを使用して、3つのinformation_schemaビューすべてからdbテーブルを識別します。必要に応じて1つまたは2つドロップできます。
クエリは、テーブル'd'の列'a'に対して外部キー制約があるすべてのテーブルを一覧表示します