16 lines
818 B
SQL
16 lines
818 B
SQL
SELECT
|
|
o.conname AS constraint_name,
|
|
(SELECT nspname FROM pg_namespace WHERE oid=m.relnamespace) AS source_schema,
|
|
m.relname AS source_table,
|
|
(SELECT a.attname FROM pg_attribute a WHERE a.attrelid = m.oid AND a.attnum = o.conkey[1] AND a.attisdropped = false) AS source_column,
|
|
(SELECT nspname FROM pg_namespace WHERE oid=f.relnamespace) AS target_schema,
|
|
f.relname AS target_table,
|
|
(SELECT a.attname FROM pg_attribute a WHERE a.attrelid = f.oid AND a.attnum = o.confkey[1] AND a.attisdropped = false) AS target_column
|
|
FROM
|
|
pg_constraint o LEFT JOIN pg_class f ON f.oid = o.confrelid LEFT JOIN pg_class m ON m.oid = o.conrelid
|
|
WHERE
|
|
o.contype = 'f' AND o.conrelid IN (SELECT oid FROM pg_class c WHERE c.relkind = 'r');
|
|
|
|
|
|
|
|
REFERENCE - https://stackoverflow.com/questions/1152260/postgres-sql-to-list-table-foreign-keys |