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

Obter definição de função, sequência, tipo etc. no Postgresql com consulta SQL


Para obter a definição de uma função use pg_get_functiondef() :
select pg_get_functiondef(oid)
from pg_proc
where proname = 'foo';

Existem funções semelhantes para recuperar a definição de um índice, uma visão, uma regra e assim por diante. Para obter detalhes, consulte o manual:http://www.postgresql.org /docs/current/static/functions-info.html

Obter a definição de um tipo de usuário é um pouco mais complicado. Você precisará consultar information_schema.attributes por isso:
select attribute_name, data_type
from information_schema.attributes
where udt_schema = 'public'
  and udt_name = 'footype'
order by ordinal_position;

A partir disso, você precisa remontar o create type declaração.

Para obter mais detalhes, você precisará ler a documentação do catálogo do sistema:http ://www.postgresql.org/docs/current/static/catalogs.html

Mas você deve preferir information_schema visualizações se retornarem as mesmas informações.