Trước hết, truy vấn của bạn cho các nhận xét bảng có thể được đơn giản hóa bằng cách sử dụng truyền đến loại định danh đối tượng thích hợp :
SELECT description
FROM pg_description
WHERE objoid = 'myschema.mytbl'::regclass;
Phần lược đồ là tùy chọn. Nếu bạn bỏ qua, search_path
hiện tại của bạn quyết định khả năng hiển thị của bất kỳ bảng nào có tên mytbl
.
Tốt hơn nữa , có các chức năng chuyên dụng trong PostgreSQL để đơn giản hóa và chuẩn hóa các truy vấn này. Hướng dẫn sử dụng:
obj_description(
object_oid
,catalog_name
)
... nhận bình luận cho đối tượng adatabase
shobj_description(
object_oid
,catalog_name
)
... nhận bình luận cho một đối tượng cơ sở dữ liệu được chia sẻ
Mô tả cho bảng:
SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');
Mô tả cho cơ sở dữ liệu:
SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'mydb';
Làm cách nào để bạn biết được điều đó?
Chà, đọc sách hướng dẫn xuất sắc thật là khai sáng. :)
Nhưng có một con đường trực tiếp hơn trong trường hợp này:hầu hết psql
các lệnh meta được thực hiện với SQL thuần túy. Bắt đầu phiên với psql -E
, để thấy điều kỳ diệu đằng sau những tấm rèm. Hướng dẫn sử dụng:
-E
--echo-hidden
Đưa ra các truy vấn thực tế được tạo bởi
\d
và các lệnh gạch chéo ngược khác. Bạn có thể sử dụng điều này để nghiên cứu các hoạt động bên trong của psql. Điều này tương đương với việc đặt biếnECHO_HIDDEN
thànhon
.