0

我们在 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 实例/模式对象使用?

4

1 回答 1

2

Greenplum 不是 PostgreSQL,它是基于 PostgreSQL 8.2 的独立产品。

DO在 PostgreSQL 9.0 中添加。所以这不适用于Greenplum。您必须创建然后执行一个函数。如果您没有这样做的权利,那么您只是不走运,您不能使用 PL/PgSQL。

PostgreSQL 支持DBLink(参见dblink文档)跨数据库连接。我不知道Greenplum是否支持它。


在未来的问题中确保:

  • 您标记它们greenplum以及postgresql
  • 如果您遇到错误,请给出错误消息的确切文本

不过,感谢您提供代码并提及您使用的是 PostgreSQL 和 Greenplum。

于 2013-11-09T05:01:34.340 回答