Ошибка блока анонимного кода Greenplum?

У нас есть схема в 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, для работы с экземплярами/объектами схемы greenplum?


person user2647763 - RIMD    schedule 09.11.2013    source источник


Ответы (1)


Greenplum — это не PostgreSQL, это отдельный продукт, основанный на PostgreSQL 8.2.

DO был добавлен в PostgreSQL 9.0. Так что это не будет работать на Greenplum. Вы должны создать, а затем выполнить функцию. Если у вас нет на это прав, вам просто не повезло, вы не можете использовать PL/PgSQL.

PostgreSQL поддерживает DBLink (см. dblink в документации) для соединений между базами данных. . Я понятия не имею, поддерживается ли это Greenplum.


В будущих вопросах убедитесь, что:

  • Вы отмечаете их greenplum, а также postgresql
  • Если вы получаете сообщение об ошибке, вы указываете точный текст сообщения об ошибке.

Спасибо, что включили код и упомянули, что используете PostgreSQL и Greenplum.

person Craig Ringer    schedule 09.11.2013
comment
Спасибо за ваш ответ/предложение. DBLINK указывает на PostgreSQL 9.0. Доступна ли DBLINK в PostgreSQL 8.2? - person user2647763 - RIMD; 09.11.2013
comment
@user2647763 user2647763 На самом деле эта ссылка указывает на документацию /current/. Видите ссылки на версии вверху? Нажмите на один для 8.2. Если 8.2 не отображается в списке (это не для dblink), значит, эта страница документации не существовала в 8.2. Таким образом, dblink не был встроенным вкладом в 8.2; он мог быть доступен как внешний сторонний модуль, но это, вероятно, не принесет вам никакой пользы с Greenplum. - person Craig Ringer; 08.12.2013