首页 > 解决方案 > 如何在postgresql中将行复制到不同数据库的不同表中?

问题描述

我使用postgresql。我在服务器中有许多数据库。有一个我使用最多的数据库说'main'。这个'main'里面有很多表。而且其他数据库里面也有很多表。

我想要做的是,每当将新行插入到“main.users”表中时,我希望将相同的数据插入到其他数据库的“用户”表中。我该如何在postgresql中做到这一点?同样,我希望对 UPDATE、DELETE 等所有操作执行相同的操作,

我已经按照您的建议完成了“逻辑复制”概念。在我的情况下,我预先知道源数据库名称,并且我会在查询中知道目标数据库名称。所以它将是动态的。

如何做到这一点?postgresql 中是否有任何 db 概念?或者我也欢迎所有其他可能的方式。请分享我对此的一些想法。

标签: postgresqlpostgresql-9.5

解决方案


如果这都在同一个 Postgres 实例(又名“集群”)上,那么我建议使用外部表从其他数据库中的“主”数据库访问表。

那些外表看起来像每个数据库内部的“本地”表,但是直接访问源数据库中的原始数据,所以不需要同步任何东西。


推荐阅读