如何获取 Redshift 中的 UDF 列表?

How to get a list of UDFs in Redshift?

有没有一种简单的方法可以获取 Redshift 中可用的所有 UDF 的列表? 此外,我想查找具有参数类型的UDF并按名称搜索UDF。

您可以查询 pg_proc table 以获得所有可用的 UDF。

按名称过滤

您可以使用 proname 列按名称过滤:

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

按参数类型过滤

您可以使用 proargtypes 列按参数类型过滤:

SELECT * FROM pg_proc WHERE proargtypes = 1043;

这里,1043varchar,可以查询pg_type table:

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

按参数名称过滤

您还可以使用 proargnames 列按参数名称进行过滤:

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

参考文献:

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

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