Postgresql使用触发器实现同步插入两张表

在有一个陈旧的系统的情况下,如果升级API可以优先使用微服务的形式,将数据库进行独立拆分,将原来的数据库原原本本地固定在旧系统中,然后在独立的微服务中运行与部署新系统。

如果原有的数据需要在更换结构的前提下在不同的版本的系统下进行共享,那可以使用数据库的卷影复制等功能。如果两个数据表的结构不完全一样,那么使用触发器的功能来实现会更加简单一些。

// 创建触发器函数
CREATE OR REPLACE FUNCTION "public"."insert_test_funcs"()
  RETURNS "pg_catalog"."trigger" AS $BODY$  
    BEGIN  
        insert into test2 (a,b,c) 
    VALUES (new.a,new.b,new.c);
                RETURN NEW;
    END;  
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100

// 在主表上创建触发器

CREATE TRIGGER "createbh_test_insert_trigger" AFTER INSERT ON "public"."test"
FOR EACH ROW
EXECUTE PROCEDURE "public"."insert_test_funcs"();

————————————————

版权声明:转载为CSDN博主「小石石石石石石」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42101813/article/details/106947029

posted @ 2022-11-09 18:40  波多尔斯基  阅读(465)  评论(0编辑  收藏  举报