How to get a list of UDFs in Redshift?

volodymyr picture volodymyr · Oct 12, 2015 · Viewed 11.2k times · Source

Is there an easy way to get the list of all UDFs that are available in Redshift? Moreover, I would like to find UDFs with parameter types and search for UDFs by name.

Answer

DotThoughts picture DotThoughts · Oct 15, 2015

You can query the pg_proc table to get all the UDFs available.

Filter by name

You can filter by name using the proname column:

SELECT * FROM pg_proc WHERE proname ILIKE '%<name_here>%';

Filter by parameter type

You can filter by parameter types using the proargtypes column:

SELECT * FROM pg_proc WHERE proargtypes = 1043;

Here, 1043 is varchar as can be seen by querying the pg_type table:

SELECT * FROM pg_type WHERE typname ILIKE '%char%';

Filter by parameter name

You can also filter by parameter name using the proargnames column:

SELECT * FROM pg_proc WHERE proargnames = ARRAY['foo'];

References:

http://docs.aws.amazon.com/redshift/latest/dg/c_join_PG.html

http://www.postgresql.org/docs/8.0/static/catalog-pg-proc.html