首页 > 解决方案 > 触发postgres更新表mysql

问题描述

我有一个用 MySQL DB 制作的系统和用 PostgreSQL 制作的其他系统。我想在 postgres 中创建一个触发器,在 MySQL 中插入行,但我不知道怎么做,这可能吗?

原因是我需要在不知道何时创建用户的情况下同步两个数据库的用户。

标签: mysqlpostgresqltriggers

解决方案


您必须为此使用mysql_fdw

但我认为这样做是一个非常糟糕的主意——如果 MySQL 数据库出现故障,触发器将抛出错误,并且事务被撤消。基本上,您不能再修改表了。此外,每个事务都会增加 PostgreSQL-MySQL 往返的延迟。

我认为您最好在 PostgreSQL 中使用某种日志表来存储更改。异步工作者可以读取更改并将它们应用到 MySQL。

再想一想:您不会考虑复制数据库用户,对吧?因为您不能在系统表上使用触发器。


推荐阅读