PostgreSQL - 如何列出表主键的所有外键链接

tua*_*ptn 5 postgresql foreign-key constraint primary-key scripting

我有一个res_users带有主键的表id

我想列出id数据库中所有表的所有外键链接。

Lau*_*lbe 9

您可以查询目录表:

SELECT la.attrelid::regclass AS referencing_table,
       la.attname AS referencing_column
FROM pg_constraint AS c
   JOIN pg_index AS i
      ON i.indexrelid = c.conindid
   JOIN pg_attribute AS la
      ON la.attrelid = c.conrelid
         AND la.attnum = c.conkey[1]
   JOIN pg_attribute AS ra
      ON ra.attrelid = c.confrelid
         AND ra.attnum = c.confkey[1]
WHERE c.confrelid = 'res_users'::regclass
  AND c.contype = 'f'
  AND ra.attname = 'id'
  AND cardinality(c.confkey) = 1;
Run Code Online (Sandbox Code Playgroud)