PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Obtenir la définition de la fonction, de la séquence, du type, etc. dans Postgresql avec une requête SQL

Pour obtenir la définition d'une fonction, utilisez pg_get_functiondef() :

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

Il existe des fonctions similaires pour récupérer la définition d'un index, d'une vue, d'une règle, etc. Pour plus de détails, consultez le manuel :http://www.postgresql.org /docs/current/static/functions-info.html

Obtenir la définition d'un type d'utilisateur est un peu plus délicat. Vous devrez interroger information_schema.attributes pour cela :

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

À partir de là, vous devez réassembler le create type déclaration.

Pour plus de détails, vous devrez lire la documentation du catalogue système :http ://www.postgresql.org/docs/current/static/catalogs.html

Mais vous devriez préférer information_schema vues si elles renvoient les mêmes informations.