PostgreSQL逻辑复制-忽略预先存在的数据

时间:2019-02-07 02:45:58

标签: postgresql database-replication logical-replication

想象一下删除订阅并从头开始重新创建它。在第一次同步期间是否可以忽略现有数据?

使用(copy_data=false)创建订阅不是一种选择,因为我想要复制数据,我只是不想复制已经存在的数据


示例:在母版上有一个users表和一个相应的出版物。该表有100万行,每分钟都会添加一个新行。然后我们取消订阅一天。

如果我们使用(copy_data=true)重新创建预订,由于与现有数据冲突,复制将不会开始。如果我们指定(copy_data=false),将缺少1440个新行。我们如何正确同步发布者和订阅者?

1 个答案:

答案 0 :(得分:1)

您不能这样做,因为PostgreSQL无法告知何时添加了数据。

您必须手动调整表格(或INSERT ... ON CONFLICT DO NOTHING)。