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-hiddenGema kueri aktual yang dihasilkan oleh
\ddan perintah garis miring terbalik lainnya. Anda dapat menggunakan ini untuk mempelajari operasi internal psql. Ini sama dengan menyetel variabelECHO_HIDDENkeon.