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

Pobieranie listy tabel, od których zależy widok/tabela w PostgreSQL

Korzystając z informacji od Andy'ego Lestera, udało mi się wymyślić następujące zapytania, aby uzyskać potrzebne informacje.

Pobierz tabele, do których odnoszą się klucze obce:

SELECT cl2.relname AS ref_table
FROM pg_constraint as co
JOIN pg_class AS cl1 ON co.conrelid=cl1.oid
JOIN pg_class AS cl2 ON co.confrelid=cl2.oid
WHERE co.contype='f' AND cl1.relname='TABLENAME'
ORDER BY cl2.relname;

Pobierz tabele, do których odnosi się widok lub reguły ze tabeli:

SELECT cl_d.relname AS ref_table
FROM pg_rewrite AS r
JOIN pg_class AS cl_r ON r.ev_class=cl_r.oid
JOIN pg_depend AS d ON r.oid=d.objid
JOIN pg_class AS cl_d ON d.refobjid=cl_d.oid
WHERE cl_d.relkind IN ('r','v') AND cl_r.relname='TABLENAME'
GROUP BY cl_d.relname
ORDER BY cl_d.relname;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql w bazie danych pamięci django

  2. Krok po kroku postgres_fdw

  3. Błędy bazy danych w Django podczas używania wątków

  4. Jak połączyć się z hostem PostgreSQL z włóczęgiej maszyny wirtualnej?

  5. Nazwa elementu XML z danych w Postgres