说我有以下数据库主机
core
(主持人:a.b.c.d
,dbaname:core
,用户名:coreUser
),其中包含表格users
,accounts
和{{1 }} permissions
(主持人:app1
,dbname:d.e.f.g
,用户名:appdb1
)appuser1
(主持人:app2
,dbname:h.i.k.l
,用户名:appdb2
)我希望appuser2
,core.users
和core.accounts
可用作core.permissions
和app1
上的原生表格。我希望能够镜像确切的表,并且这些表的插入和更新应该更新app2
中的表。有没有办法做到这一点?
答案 0 :(得分:2)
postgres_fdw可以胜任。
正如您所知,FDW代表外国数据包装器,它用于将外部数据源连接到postgresql。在这种情况下,外部数据源是另一个postgrsql数据库。postgres_fdw模块提供外部数据包装器 postgres_fdw,可用于访问存储在外部的数据 PostgreSQL服务器。
此模块提供的功能基本上与重叠 旧版dblink模块的功能。但是postgres_fdw 为访问提供更透明和符合标准的语法 远程表,在许多情况下可以提供更好的性能。
答案 1 :(得分:1)
是的,请查看slony replication。
如果您不想复制数据,那么dblink extension可能会对您有所帮助。它允许从一个数据库调用查询到另一个数据库。与函数或视图结合使用可能很有用(尽管对core
所做的更改不会自动反映在“子”数据库中)。