1

我正在使用带有 Citus Extension 社区版的 PostgreSQL 11。我有 2 个表,每个表都有 32 个分片,分布在 2 个节点(带有 Citus 扩展的 Postgres 服务器)中。表 A 中的每个分片都有一组 Colocated 分片(数据相互依赖)。

我正在尝试编写一个程序,将一个节点上的分片及其位于同一位置的分片复制到另一个节点。

所以我使用发布者/订阅者功能来设置复制。我的问题是,当复制正在进行并且写入(更新/插入/删除)查询出现时,复制会受到任何影响吗?

在这种情况下我应该使用任何类型的锁定,例如独占锁定模式吗?

4

1 回答 1

1

Citus 将分布式表分片的信息存储在多个目录表上。应该更新这些表中的记录,以便能够正确使用新的分片副本。

这不是一项简单的任务,如果处理不当,可能会损坏您现有的 Citus 目录表。

我建议您考虑使用已由开发人员构建和维护的具有此功能的 Citus 企业版。

于 2020-06-10T19:47:54.617 回答