有没有简单的方法来获取Redshift中可用的所有UDF的列表? 此外,我想找到具有参数类型的UDF并按名称搜索UDF。
答案 0 :(得分:17)
您可以查询pg_proc
表以获取所有可用的UDF。
您可以使用proname
列按名称进行过滤:
SELECT * FROM pg_proc WHERE proname ILIKE '%<name_here>%';
您可以使用proargtypes
列按参数类型进行过滤:
SELECT * FROM pg_proc WHERE proargtypes = 1043;
此处1043
为varchar
,可以通过查询pg_type
表来看到:
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