PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

PostgreSQL:Skrypt SQL do pobrania listy wszystkich tabel, które mają określoną kolumnę jako klucz obcy

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'

Wykorzystuje to tryplet pełny katalog/schemat/nazwa do identyfikacji tabeli db ze wszystkich 3 widoków information_schema. W razie potrzeby możesz upuścić jeden lub dwa.

Zapytanie wyświetla listę wszystkich tabel, które mają ograniczenie klucza obcego względem kolumny „a” w tabeli „d”



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TimescaleDB:sprawnie wybierz ostatni wiersz

  2. Dodanie nowej wartości do istniejącego typu ENUM

  3. Migracja wyzwalacza z Oracle 11g do Postgresql 8.4

  4. PostgreSQL to najlepsza baza danych na świecie

  5. Błąd operacyjny:KRYTYCZNY:przepraszam, zbyt wielu klientów już używa psycopg2