Pertama, kueri Anda untuk komentar tabel dapat disederhanakan menggunakan cast ke jenis pengenal objek yang sesuai :
SELECT description
FROM pg_description
WHERE objoid = 'myschema.mytbl'::regclass;
Bagian skema adalah opsional. Jika Anda menghilangkannya, search_path
Anda saat ini memutuskan visibilitas tabel apa pun bernama mytbl
.
Lebih baik lagi , ada fungsi khusus di PostgreSQL untuk menyederhanakan dan mengkanonisasi kueri ini. Panduan:
obj_description(
object_oid
,catalog_name
)
... dapatkan komentar untuk objek basis data
shobj_description(
object_oid
,catalog_name
)
... dapatkan komentar untuk objek database bersama
Deskripsi untuk tabel:
SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');
Deskripsi untuk basis data:
SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'mydb';
Bagaimana Anda mengetahuinya?
Nah, membaca manual yang sangat baik itu mencerahkan. :)
Tetapi ada rute yang lebih langsung dalam hal ini:sebagian besar psql
perintah meta diimplementasikan dengan SQL biasa. Mulai sesi dengan psql -E
, untuk melihat keajaiban di balik tirai. Panduan:
-E
--echo-hidden
Gema kueri aktual yang dihasilkan oleh
\d
dan perintah garis miring terbalik lainnya. Anda dapat menggunakan ini untuk mempelajari operasi internal psql. Ini sama dengan menyetel variabelECHO_HIDDEN
keon
.