无法在 Redshift Aginity 和 aginity pro 中创建存储过程

Posted

技术标签:

【中文标题】无法在 Redshift Aginity 和 aginity pro 中创建存储过程【英文标题】:Unable to create a Stored procedure in Redshift Aginity and aginity pro 【发布时间】:2019-08-06 12:28:06 【问题描述】:

试图在 redshift aginity 工作台中创建存储过程,但它通过一个错误,如“$$ 处或附近的未终止的美元引用字符串” '

在亚马逊,他们已经为此提供了解决方案 https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-create.html

仅支持创建存储过程的特定客户端工具。 我想符合 aginity 没有创建这个的选项? 和 哪个是创建存储过程的最佳工具?

CREATE OR REPLACE PROCEDURE staging.test_sp1(f1 int, f2 varchar)
AS $$
BEGIN
  RAISE INFO 'f1 = %, f2 = %', f1, f2;
END;
$$ LANGUAGE plpgsql;

【问题讨论】:

【参考方案1】:

您可以使用 Run Batch 在 Aginity Pro 中创建 RedShift 存储过程。 9/16 版本将提供全面支持。

【讨论】:

欢迎来到***。添加 Run Batch 的链接或示例会增强您的答案。【参考方案2】:

Aginity 需要更新他们的工具以正确地将美元引用的程序主体传递给 Redshift。我注意到 Aginity 能够使用CALL staging.test_sp1() 执行该过程。

其他一些工具已经更新为允许创建,您可以随时使用psql 来创建过程。

【讨论】:

你能推荐哪个最适合 Redshift 吗? Aginity 可能很快就会有支持此功能的更新。您还可以尝试以下其他工具:datarow.com、Falcon-plot.ly/free-sql-client-download、sqllectron.github.io、tableplus.com、jetbrains.com/datagrip。价格各不相同,有些是免费的。

以上是关于无法在 Redshift Aginity 和 aginity pro 中创建存储过程的主要内容,如果未能解决你的问题,请参考以下文章

Aginity Workbench Redshift 服务器连接错误

Redshift Aginity Workbench - 错误:42703:table_y 中不存在列“XXX”

Aginity Workbench for Redshift - to_timestamp 转换问题

无法在redshift中的存储过程中传递参数

无法通过 redshift DB 中的工作台手动执行功能

Redshift COPY 命令无法从 S3 加载数据