Trong bài đăng này, tôi đang chia sẻ một tập lệnh để tìm bảng và cột, không được liên kết với bất kỳ nhận xét hoặc mô tả nào về PostgreSQL.
Tự lập tài liệu là điều quan trọng nhất đối với mọi nhà phát triển và tổ chức.
Trong công ty của chúng tôi, Chúng tôi tuân thủ rất nghiêm ngặt quy tắc này như một tiêu chuẩn phát triển cơ sở dữ liệu, trong đó chúng tôi phải viết nhận xét hoặc mô tả cho mọi bảng và cột.
Bạn cũng có thể quản lý mô tả này bằng các công cụ UML khác nhau.
Nhưng tốt hơn với các công cụ khác, chúng ta nên viết trong cơ sở dữ liệu để bất cứ khi nào bạn tạo sơ đồ cơ sở dữ liệu, nhận xét hoặc mô tả được thêm tự động.Con người đang làm sai, vì vậy đôi khi tôi phải tìm thấy một danh sách các đối tượng không liên kết với bất kỳ nhận xét hoặc mô tả nào.
Tôi đã lọc truy vấn bên dưới bằng cách đưa Tên người dùng vào mệnh đề WHERE, vì vậy nếu bạn muốn cho tất cả người dùng, bạn nên xóa bộ lọc này.
Tìm Bảng không có bình luận.
1 2 3 4 5 6 7 8 9 10 | SELECT pg_get_userbyid(pc.relowner)AS ObjectOwner ,pc.relname AS TableName ,pd.description AS Comment FROM pg_class AS pc LEFT OUTER JOIN pg_description AS pd ON (pc.oid = pd.objoid) WHERE pg_get_userbyid(pc.relowner) ='User_Name' AND pc.relkind = 'r' AND pd.description IS NULL; |
Tìm cột mà không có bình luận.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT pg_get_userbyid(pc.relowner) AS ObjectOwner ,pc.relname AS TableName ,pa.attname AS ColumnName ,pd.description AS Comment FROM pg_attribute AS pa JOIN pg_class AS pc ON (pa.attrelid = pc.oid) LEFT OUTER JOIN pg_description AS pd ON (pc.oid = pd.objoid AND pa.attnum = pd.objsubid) WHERE pg_get_userbyid(pc.relowner) ='User_Name' AND pc.relkind = 'r' AND pd.description IS NULL AND pa.attnum > 0 ORDER BY pa.attname; |