Postgresql Greenplum匿名代码块错误?

Postgresql Greenplum匿名代码块错误?,postgresql,greenplum,Postgresql,Greenplum,我们在Greenplum中有一个模式,Postgres版本为8.2,不允许创建函数。我们在另一个服务器/模式中有一些工作函数。我们喜欢在新模式中以匿名代码块的形式运行这些函数。我们在pgadmin(Gui界面)和命令行psql中尝试了以下内容。我们遇到了一个错误 这是试用过的代码 do $$ declare at1 text; ftxt varchar(50) := ‘How are you?’ ; begin RAISE NOTICE ‘Hello World

我们在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 link这样的机制可以跨greenplum实例/模式对象使用

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

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

PostgreSQL支持跨数据库连接的
DBLink
(请参见文档中的内容)。我不知道它是否得到Greenplum的支持


在今后的问题中,确保:

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

感谢您提供代码并提及您正在使用PostgreSQL和Greenplum。

感谢您的回复/建议。DBLINK指向PostgreSQL 9.0。DBLINK在PostgreSQL 8.2中可用吗?@user2647763实际上,该链接指向/current/version文档。看到顶部的版本链接了吗?单击8.2中的一个。如果8.2没有出现在列表中(dblink没有),那么该文档页面在8.2中不存在。因此dblink在8.2中不是内置的contrib;它可能作为外部第三方模块提供,但这可能对Greenplum没有任何好处。