我一直在阅读 PostgreSQL 中的逻辑复制,这似乎是在多个数据库之间共享少量表的一个非常好的解决方案。我的情况更简单,因为我的订阅者只会以只读方式使用源表。
我知道我可以在订阅节点的订阅表中添加额外的列,但是如果我只想导入源表的整个列集的一个子集怎么办?有可能还是会抛出错误?
例如,我的源表product
有很多列,其中许多与我的订阅者数据库无关。product
在每个订阅者处创建仅包含真正需要的列的副本是否可行?
我一直在阅读 PostgreSQL 中的逻辑复制,这似乎是在多个数据库之间共享少量表的一个非常好的解决方案。我的情况更简单,因为我的订阅者只会以只读方式使用源表。
我知道我可以在订阅节点的订阅表中添加额外的列,但是如果我只想导入源表的整个列集的一个子集怎么办?有可能还是会抛出错误?
例如,我的源表product
有很多列,其中许多与我的订阅者数据库无关。product
在每个订阅者处创建仅包含真正需要的列的副本是否可行?
内置的发布/订阅方法不支持这一点。但是逻辑复制框架还支持您可以编写(或让其他人编写)和安装的任何其他解码插件,因此您可以这样实现。看起来pglogical已经支持这一点(“在发布者端选择性复制表列”,但我自己从未尝试过使用此功能)。