【发布时间】:2016-01-10 01:44:18
【问题描述】:
是否有一种简单的方法可以获取 Redshift 中可用的所有 UDF 的列表? 此外,我想查找具有参数类型的 UDF,并按名称搜索 UDF。
【问题讨论】:
标签: amazon-redshift
是否有一种简单的方法可以获取 Redshift 中可用的所有 UDF 的列表? 此外,我想查找具有参数类型的 UDF,并按名称搜索 UDF。
【问题讨论】:
标签: amazon-redshift
您可以查询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
【讨论】:
select oid, * from pg_type;。不太清楚为什么,但这让我很困惑。