2015-10-12 7 views

Antwort

10

Sie können die Tabelle pg_proc abfragen, um alle UDFs abzurufen.

select * from pg_proc where proname ilike '%<name_here>%'

Sie durch Parametertypen durch Angabe der Argument Parametertypen in der where-Klausel thusly filtern -

select * from pg_proc where proargtypes=1043

wo 1043 ist varchar wie aus der pg_type Tabelle ersichtlich -

select * from pg_type where typname ilike '%char%'

Sie können auch spec ify die Parameternamen in der where-Klausel -

select * from pg_proc where proargnames = array['foo']

Referenzen:

http://docs.aws.amazon.com/redshift/latest/dg/c_join_PG.html http://www.postgresql.org/docs/8.0/static/catalog-pg-proc.html

+0

Das war wirklich nützlich. Seltsamerweise verlangt mein SQL-Client (Postico), dass ich explizit die oids auswähle, um sie so zu sehen: 'select oid, * from pg_type;'. Nicht wirklich sicher warum, aber es hat mich eine ganze Weile verwirrt. – killthrush