Po pierwsze, zapytanie dotyczące komentarzy do tabeli można uprościć za pomocą rzutowania na odpowiedni typ identyfikatora obiektu :
SELECT description
FROM pg_description
WHERE objoid = 'myschema.mytbl'::regclass;
Część schematu jest opcjonalna. Jeśli go pominiesz, Twoja obecna search_path
decyduje o widoczności dowolnej tabeli o nazwie mytbl
.
Jeszcze lepiej , istnieją funkcje dedykowane w PostgreSQL w celu uproszczenia i kanonizacji tych zapytań. Instrukcja:
obj_description(
object_oid
, catalog_name
)
... pobierz komentarz do obiektu bazy danych
shobj_description(
object_oid
, catalog_name
)
... pobierz komentarz do współdzielonego obiektu bazy danych
Opis tabeli:
SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');
Opis bazy danych:
SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'mydb';
Jak się o tym dowiadujesz?
Cóż, przeczytanie doskonałej instrukcji jest pouczające. :)
Ale w tym przypadku jest bardziej bezpośrednia trasa:większość psql
polecenia meta są zaimplementowane za pomocą zwykłego SQL. Rozpocznij sesję za pomocą psql -E
, aby zobaczyć magię za zasłonami. Instrukcja:
-E
--echo-hidden
Echo rzeczywistych zapytań wygenerowanych przez \d
i inne polecenia odwróconego ukośnika. Możesz użyć tego do zbadania wewnętrznych operacji psql. Jest to równoważne ustawieniu zmiennej ECHO_HIDDEN
do on
.