redshift 更改 udf 更改所有者
Posted
技术标签:
【中文标题】redshift 更改 udf 更改所有者【英文标题】:redshift alter udf change owner 【发布时间】:2016-11-15 09:44:25 【问题描述】:为了在 redshift 中删除用户,我必须更改该用户的所有权限和所有权。
然而,用户在 redshift 中也拥有用户定义的函数。
如何更改此用户定义函数的所有者?
[ ALTER FUNCTION f_.. OWNER TO xyz ]
没用..
如何查看这个函数在哪里使用?
【问题讨论】:
如果人们有兴趣为这些类型的问题创建一个场所,请帮助支持dedicated Cloud Computing site on StackExchange 的提案。 【参考方案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
【讨论】:
以上是关于redshift 更改 udf 更改所有者的主要内容,如果未能解决你的问题,请参考以下文章
为啥像 Snowflake 和 Redshift 这样的列式数据库不能更改列顺序?