Um die Definition einer Funktion zu erhalten, verwenden Sie pg_get_functiondef()
:
select pg_get_functiondef(oid)
from pg_proc
where proname = 'foo';
Es gibt ähnliche Funktionen, um die Definition eines Index, einer Ansicht, einer Regel usw. abzurufen. Einzelheiten finden Sie im Handbuch:http://www.postgresql.org /docs/current/static/functions-info.html
Etwas schwieriger ist es, die Definition eines Benutzertyps zu erhalten. Sie müssen information_schema.attributes
abfragen dafür:
select attribute_name, data_type
from information_schema.attributes
where udt_schema = 'public'
and udt_name = 'footype'
order by ordinal_position;
Daraus müssen Sie den create type
wieder zusammensetzen Aussage.
Für weitere Details müssen Sie die Dokumentation des Systemkatalogs durchlesen:http ://www.postgresql.org/docs/current/static/catalogs.html
Aber Sie sollten information_schema
bevorzugen Ansichten, wenn sie dieselben Informationen zurückgeben.