Greenplum匿名代码块错误?
Posted
技术标签:
【中文标题】Greenplum匿名代码块错误?【英文标题】:Greenplum anonymous code block error? 【发布时间】:2013-11-09 02:23:59 【问题描述】:我们在 Greenplum 中有一个带有 Postgres 版本 8.2 的模式,我们不允许在其中创建函数。我们在另一个服务器/模式中有一些工作功能。我们喜欢以匿名代码块的形式在新模式中运行这些函数。我们在 pgadmin(Gui 界面)和命令行 psql 中尝试了以下操作。我们遇到了一个错误。
这是尝试过的代码。
do $$
declare
at1 text;
ftxt varchar(50) := ‘How are you?’ ;
begin
RAISE NOTICE ‘Hello World ‘ || ftxt ;
end;
$$;
它不接受“做”。这就是错误所在。我需要您的指导才能完成这项工作。
是否有像 Oracle 的 DB 链接这样的机制可以跨 greenplum 实例/模式对象使用?
【问题讨论】:
【参考方案1】:Greenplum 不是 PostgreSQL,它是基于 PostgreSQL 8.2 的独立产品。
DO
在 PostgreSQL 9.0 中被添加。所以这不适用于Greenplum。您必须创建然后执行一个函数。如果您没有权限这样做,那您只是运气不好,您不能使用 PL/PgSQL。
PostgreSQL 支持跨数据库连接的DBLink
(参见文档中的dblink
)。我不知道Greenplum是否支持它。
在未来的问题中确保:
您标记他们greenplum
以及postgresql
如果您遇到错误,您提供错误消息的确切文本。
感谢您提供代码并提及您使用的是 PostgreSQL 和 Greenplum。
【讨论】:
感谢您的回复/建议。 DBLINK 指向 PostgreSQL 9.0。 DBLINK 在 PostgreSQL 8.2 中可用吗? @user2647763 实际上,该链接指向 /current/ 版本文档。看到顶部的版本链接了吗?单击 8.2 的那个。如果 8.2 没有出现在列表中(它不用于 dblink),那么该文档页面在 8.2 中不存在。所以 dblink 不是 8.2 中的内置 contrib;它可能已作为外部 3rd 方模块提供,但这可能对 Greenplum 没有任何好处。以上是关于Greenplum匿名代码块错误?的主要内容,如果未能解决你的问题,请参考以下文章