PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Ottieni la definizione di funzione, sequenza, tipo ecc. in Postgresql con query SQL

Per ottenere la definizione di una funzione usa pg_get_functiondef() :

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

Esistono funzioni simili per recuperare la definizione di un indice, una vista, una regola e così via. Per i dettagli vedere il manuale:http://www.postgresql.org /docs/current/static/functions-info.html

Ottenere la definizione di un tipo di utente è un po' più complicato. Dovrai interrogare information_schema.attributes per quello:

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

Da ciò devi riassemblare il create type dichiarazione.

Per maggiori dettagli dovrai leggere la documentazione del catalogo di sistema:http ://www.postgresql.org/docs/current/static/catalogs.html

Ma dovresti preferire information_schema visualizzazioni se restituiscono le stesse informazioni.