为了在 redshift 中删除用户,我必须更改该用户的所有权限和所有权。

然而,用户在 redshift 中也拥有用户定义的函数。

如何更改此用户定义函数的所有者?

[ ALTER FUNCTION f_.. OWNER TO xyz ]

没有用..

如何检查使用此功能的位置?

最佳答案

实际上,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 。)

关于sql - redshift 改变 udf 更改所有者,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40606574/

10-13 06:02