sql >> Base de Datos >  >> RDS >> PostgreSQL

Obtenga la definición de función, secuencia, tipo, etc. en Postgresql con consulta SQL

Para obtener la definición de una función, use pg_get_functiondef() :

select pg_get_functiondef(oid)
from pg_proc
where proname = 'foo';

Existen funciones similares para recuperar la definición de un índice, una vista, una regla, etc. Para obtener más información, consulte el manual:http://www.postgresql.org /docs/current/static/functions-info.html

Obtener la definición de un tipo de usuario es un poco más complicado. Deberá consultar information_schema.attributes por eso:

select attribute_name, data_type
from information_schema.attributes
where udt_schema = 'public'
  and udt_name = 'footype'
order by ordinal_position;

A partir de eso, debe volver a ensamblar el create type declaración.

Para obtener más detalles, deberá leer la documentación del catálogo del sistema:http ://www.postgresql.org/docs/current/static/catalogs.html

Pero debería preferir information_schema visualizaciones si devuelven la misma información.