sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL:SQL-skript för att få en lista över alla tabeller som har en viss kolumn som främmande nyckel

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'

Detta använder den fullständiga katalog/schema/namntripletten för att identifiera en db-tabell från alla tre informationsschemavyer. Du kan släppa en eller två efter behov.

Frågan listar alla tabeller som har en främmande nyckel-begränsning mot kolumnen 'a' i tabell 'd'



  1. skapa tabell med sequence.nextval i oracle

  2. RDS-instans CPU-användning

  3. Kapslade klasser - CustomRowMapper !! Inget problem längre!! - Del 2

  4. Rails:Fel vid installation av pg gem