我想知道是否可以在FDW表上创建触发器。
我的目标是:
每当在外部表中发生什么事情时,我就会在本地表(本地服务器)中触发一个事件。
我使用FDW是因为在源表(远程表)中没有写权限,所以使用FDW功能。enterprises
表是外来的。
我试过这个功能:
CREATE OR REPLACE FUNCTION INSERT_ENTERPRISE() RETURNS TRIGGER AS $INSERT_ENTERPRISE$
BEGIN
INSERT INTO TEST_ENTERPRISES VALUES(NEW.ENTERPRISE_ID);
END;
$INSERT_ENTERPRISE$ LANGUAGE PLPGSQL;
触发器为:
CREATE TRIGGER TG_INSERT_ENTERPRISE
BEFORE INSERT ON ENTERPRISES
FOR EACH ROW EXECUTE PROCEDURE INSERT_ENTERPRISE();
在远程表中发生了许多插入,但在本地表中没有人。
最佳答案
由于PostgreSQL版本9.4,您可以在外部表上定义触发器。
关于postgresql - Postgres触发FDW表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39260883/