如何在 Redshift(亚马逊)中更新 UDF?

Posted

技术标签:

【中文标题】如何在 Redshift(亚马逊)中更新 UDF?【英文标题】:How to update a UDF in Redshift (amazon)? 【发布时间】:2019-04-05 00:41:45 【问题描述】:

我在 Redshift 中创建了一个 UDF。我可以通过

在 pg_proc 表中查看它
select * from pg_proc where proname ilike 'my_udf';

现在我需要更新这个函数(包括函数签名)。我尝试在 pg_proc 表上使用更新语句,但没有成功。

编辑:似乎更新签名的唯一方法是删除该函数,尽管DROP FUNCTION <function_name> 似乎不起作用。

这样做的正确方法是什么?还知道函数签名会有所帮助,有什么方法可以查看吗?

【问题讨论】:

【参考方案1】:

您应该使用CREATE [ OR REPLACE ] FUNCTION... 重新定义用户定义函数 (UDF)。

见:CREATE FUNCTION - Amazon Redshift

如果签名发生变化,您可能需要先DROP FUNCTION,然后再CREATE FUNCTION

【讨论】:

DROP FUNCTION 导致语法错误。我错过了什么吗? 参数列表及其数据类型,就像在 create 语句中一样

以上是关于如何在 Redshift(亚马逊)中更新 UDF?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python udf 中使用 select 查询进行 redshift?

如何更新 Amazon Redshift 上的 Python 库?

如何在 Redshift UDF 中修剪变量

redshift 更改 udf 更改所有者

如何在 Redshift 中创建自定义聚合 UDF 函数?

Redshift UDF boto sql 查询和 S3