Выполнение триггера для сторонней таблицы в postgresql - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть две базы данных db1 и db2.db2 имеет внешнюю таблицу, скажем, tableA, схема которой была импортирована из db1.Триггер запускается на tableA в db1 для каждого обновления строки.Теперь, используя postgres_fdw, я могу получить записи из db2, но не могу обновить ни одну запись в таблице A из-за этой функции триггера. Обновление работает нормально, если я отключил триггер. Мне нужен этот триггер для журнала аудита.

Пожалуйста, предложитемне подходящее предложение для решения проблемы. Я использую postgres 9.6.

1 Ответ

0 голосов
/ 27 ноября 2018

Убедитесь, что пользователь, устанавливающий ссылку, имеет доступ к таблицам аудита.

Вы также можете добавить требуемую схему в путь поиска триггерной функции:

CREATE OR REPLACE FUNCTION abc.mytrigger() RETURNS trigger AS
$BODY$BEGIN
 [...] -- do something in the xyz schema
  RETURN NEW;
END;$BODY$ 
LANGUAGE plpgsql 
SET search_path = xyz;
...