问题很简单,但我找不到任何文件:
如何将特定表从数据库镜像到另一个?
基本思想是让两个数据库只共享它们之间的特定表
任何建议将不胜感激!如果PostgreSQL无法做到,那还有另一个RDBMS吗? 提前谢谢!
编辑: 我想这样做的原因是使用django在两个数据库之间共享“任意”信息,而不会丢失适当的参照完整性。 例如:
假设我们有客户,产品和销售表。我们想 在两家公司之间分享我们的客户和产品基础,但不是我们的 销售。这可以扩展到任何特定情况(股票股票 但不是客户端,用户而是权限等)。所以我想到了 最简单的解决方案是在数据库之间共享特定的表。如果 有一个更好的方法来解决问题,随时分享你的问题 的经验!提前致谢
答案 0 :(得分:5)
几乎没有可能:
主/主复制(Bucardo),主/从复制(Slony)
使用外部数据包装器 - 您可以从其他数据库访问任何表。 9.2提供舒适的FDW只读驱动程序,9.3包含读/写FDW驱动程序
CREATE EXTENSION postgres_fdw ; CREATE SERVER omega FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'localhost', dbname 'other_database'); CREATE USER MAPPING FOR pavel SERVER omega; CREATE FOREIGN TABLE oo (a int) SERVER omega; postgres=# EXPLAIN ANALYZE VERBOSE SELECT * FROM oo WHERE a BETWEEN 1 AND 100;FDW可能是如何共享数据的最简单的解决方案。