【发布时间】:2014-01-15 13:09:20
【问题描述】:
这个问题很简单,但我找不到任何文档:
如何将特定表从一个数据库镜像到另一个?
基本思想是拥有双数据库,它们之间只共享特定的表
任何建议将不胜感激!如果 PostgreSQL 做不到,还有其他 RDBMS 可以吗? 提前致谢!
编辑: 我想这样做的原因是使用 django 在两个数据库之间共享“任意”信息,而不会丢失正确的引用完整性。 例如:
假设我们有一个客户、产品和销售表。我们想 在两家公司之间共享我们的客户和产品基础,但不是我们的 销售量。这可以扩展到任何特定情况(股票 但不是客户、用户但不是权限等)。所以我认为 最简单的解决方案是在数据库之间共享特定的表。如果 有更好的解决问题的方法,请随时分享您的 经验!提前致谢
【问题讨论】:
-
您可以使用 Slony(Postgres 的复制工具)来做到这一点
-
最简单的解决方案是在同一个数据库中使用不同的模式。比双数据库容易得多。这个this question 等等。
-
是的,看起来像,但是 django 还不支持模式
-
@Alvaro:您可以设置两个具有不同搜索路径的不同用户。所有常见的桌子都会去,例如进入公共模式,其他人进入他们自己的模式。由于搜索路径的原因,非公共架构中的表不需要以架构为前缀。每个用户看到一组不同的表。如果您将架构命名为用户名,您甚至不需要更改 search_path,因为这是默认设置
-
好的!我会试一下!!感谢您给我一个起点,非常感谢(如果您愿意,请做出答案,我会接受)