PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để ghi lại mã cơ sở dữ liệu của bạn để xem sự phụ thuộc giữa các đối tượng cơ sở dữ liệu?

Bạn thực sự có thể thu thập một số thông tin này bằng cách truy vấn thông tin "phụ thuộc" nội bộ của cơ sở dữ liệu. Nếu cái gì đó phụ thuộc vào cái khác, điều đó cho thấy nó sử dụng nó. Đây là một truy vấn mẫu để cung cấp cho bạn ý tưởng về cách duyệt qua hai cấu trúc có liên quan:

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;

Thông tin về tất cả các bit nội bộ này có thể được tìm thấy trong danh mục hệ thống tài liệu.



  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 / performance một con trỏ chung hoặc tạo cho mọi truy vấn

  2. Bảng postgres thành mảng hai chiều

  3. Cách search_path ảnh hưởng đến độ phân giải của mã định danh và lược đồ hiện tại

  4. Sự khác biệt về dấu thời gian trong giờ cho PostgreSQL

  5. Kế hoạch thực thi cho các hàm trong PostgreSQL