PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como recuperar o comentário de um banco de dados PostgreSQL?


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 \d e outros comandos de barra invertida. Você pode usar isso para estudar as operações internas do psql. Isso equivale a definir a variável ECHO_HIDDEN para on .