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

Jak udokumentować kod bazy danych, aby zobaczyć zależności między obiektami bazy danych?

Możesz faktycznie zebrać niektóre z tych informacji, przeszukując wewnętrzne informacje „zależne” bazy danych. Jeśli coś zależy od innego, to sugeruje, że to używa. Oto przykładowe zapytanie, które pokaże Ci, jak przejść przez dwie zaangażowane struktury:

SELECT
  c1.oid as relid,
  n1.nspname || '.' || c1.relname as relation,
  c1.relkind,
  c2.oid as relid,
  n2.nspname || '.' || c2.relname as dependency,
  c2.relkind
FROM 
  pg_depend d,
  pg_class c1,
  pg_namespace n1,
  pg_class c2,
  pg_namespace n2
WHERE 
  d.objid = c1.oid AND
  c1.relnamespace = n1.oid AND 
  n1.nspname NOT IN('information_schema', 'pg_catalog') AND
  n1.nspname !~ '^pg_toast' AND
  d.refobjid = c2.oid AND
  c2.relnamespace = n2.oid AND 
  n2.nspname NOT IN('information_schema', 'pg_catalog') AND
  n2.nspname !~ '^pg_toast' AND
  c1.oid != c2.oid
GROUP BY n1.nspname,c1.relname,c1.oid,c1.relkind,
  n2.nspname,c2.relname,c2.oid,c2.relkind
ORDER BY n1.nspname,c1.relname;

Informacje o tych wszystkich wewnętrznych bitach można znaleźć w katalogu systemowym dokumentacja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak uzyskać rekordy utworzone w bieżącym miesiącu?

  2. Czy zamówienie według widoku gwarantuje kolejność wyboru?

  3. Złożone lewe zewnętrzne złączenia w Oracle, konwersja do PostgreSQL

  4. BŁĄD:tablica nie może zawierać wartości NULL PostgreSQL

  5. Asynchroniczny DBAppender z logbackiem