国外的 Django OneToOneField table

Django OneToOneField on foreign table

我正在尝试使用以前不是外部表的外部表(使用 postgres_fdw)设置一个新服务器,并且我有一些 OneToOneFields 指向这些表。这不是开箱即用的 - OneToOneFields 使用外键,并且 postgres_fdw 不支持外部表的外键。

外部表位于同一台服务器上的只读数据库中。

有没有简单的方法可以让它工作?

经过更多研究,我认为答案是“不要那样做”。未实现处理外部表的外键,任何试图弥补这一差距的解决方案都会产生严重的性能 and/or 一致性问题。

pglogical 看起来是一个更好的解决方案 - 与其通过 postgres_fdw 拉取数据,不如将表复制到新数据库中,以便它们是本地的。还有其他仅复制特定表的项目,但 PostgreSQL 10 中包含 pglogical。