如何获取 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;
这里,1043
是varchar
,可以查询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
有没有一种简单的方法可以获取 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;
这里,1043
是varchar
,可以查询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