Em primeiro lugar, sua consulta de comentários de tabela pode ser simplificada usando uma conversão para o tipo de identificador de objeto apropriado :
SELECT description
FROM pg_description
WHERE objoid = 'myschema.mytbl'::regclass;
A parte do esquema é opcional. Se você omitir, seu
search_path atual decide a visibilidade de qualquer tabela chamada mytbl . Melhor ainda , existem funções dedicadas no PostgreSQL para simplificar e canonizar essas consultas. O manual:
obj_description(object_oid,catalog_name)... obter comentário para um objeto de banco de dados
shobj_description(object_oid,catalog_name)... obter comentário para um objeto de banco de dados compartilhado
Descrição para a mesa:
SELECT obj_description('myschema.mytbl'::regclass, 'pg_class');
Descrição do banco de dados:
SELECT pg_catalog.shobj_description(d.oid, 'pg_database') AS "Description"
FROM pg_catalog.pg_database d
WHERE datname = 'mydb';
Como você descobriu isso?
Bem, ler o excelente manual é esclarecedor. :)
Mas há uma rota mais direta neste caso:a maioria dos
psql meta comandos são implementados com SQL simples. Inicie uma sessão com psql -E , para ver a magia por trás das cortinas. O manual:
-E--echo-hidden
Ecoar as consultas reais geradas por\de outros comandos de barra invertida. Você pode usar isso para estudar as operações internas do psql. Isso equivale a definir a variávelECHO_HIDDENparaon.