yiduzixin@163.com | 发布于 2021-06-01 09:36:30 | 阅读量 62 |
发布于 2021-06-01 09:36:30 |

 insert

CREATE OR REPLACE FUNCTION sync_db() RETURNS TRIGGER AS $body$
	BEGIN
		PERFORM dblink_connect('dblinktest','host=192.168.20.66 dbname=sync-dst user=postgres password=postgres');
		PERFORM dblink_exec('dblinktest','INSERT INTO "public"."user"("name") VALUES ('''|| NEW.name ||''');');
		PERFORM dblink_disconnect('dblinktest');
		RETURN NEW;
	END;
$body$ LANGUAGE plpgsql;

CREATE TRIGGER sync_trigger AFTER INSERT ON public.user FOR EACH ROW EXECUTE PROCEDURE sync_db();

INSERT INTO "public"."user"("id", "name") VALUES (8, '范冰冰');

 update

CREATE OR REPLACE FUNCTION update_src2dst() RETURNS TRIGGER AS $$
	BEGIN
		PERFORM dblink_connect('dblinktest','host=192.168.20.66 dbname=sync-dst user=postgres password=postgres');
		PERFORM dblink_exec('dblinktest','UPDATE "public"."user" SET "name" = '''|| NEW.name ||''' WHERE "id" = '|| NEW.id ||';');
		PERFORM dblink_disconnect('dblinktest');
		RETURN NEW;
	END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER update_src2dst_trigger AFTER UPDATE ON public.user FOR EACH ROW EXECUTE PROCEDURE update_src2dst();

UPDATE "public"."user" SET "name" = '王力宏' WHERE "id" = 9;



 

 

 

 

 

 

 


内容更新于: 2021-06-01 09:36:30
链接地址: http://blog.leanote.com/post/yiduzixin@163.com/trigger-dblink

上一篇: trigger+postgres_fdw

下一篇: sed高级用法

62 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航