【问题标题】:redshift alter udf change ownerredshift 更改 udf 更改所有者
【发布时间】:2016-11-15 09:44:25
【问题描述】:
为了在 redshift 中删除用户,我必须更改该用户的所有权限和所有权。
然而,用户在 redshift 中也拥有用户定义的函数。
如何更改此用户定义函数的所有者?
[ ALTER FUNCTION f_.. OWNER TO xyz ]
没用..
如何查看这个函数在哪里使用?
【问题讨论】:
标签:
sql
amazon-redshift
alter
【解决方案1】:
实际上,R.Zieglt 的解决方案对我不起作用。我需要指定输入参数类型,而不是名称。
这是我的示例:
ALTER FUNCTION udf_name (text) OWNER TO admin;
注意
如果不确定参数类型可以查询pg_proc表,通过proname过滤:
SELECT proargtypes FROM pg_proc WHERE proname ILIKE udf_name;
然后,您可以使用pg_type 表并将数字类型映射到其名称并按typname 过滤:
SELECT * FROM pg_type WHERE typelem = 23;
(取自Get a list of UDFs in Redshift。)
【解决方案2】:
解决方案其实很简单,函数的输入变量要加:
Alter Function function_name ( input1,input2,...) OWNER TO new_user