更新日期:2024年09月11日
逻辑复制的行为类似于正常的DML 操作,即便数据在订阅者节点本地被修改,逻辑复
制也会根据收到的更改来更新数据。如果流入的数据违背了任何约束,复制将停止。这种情
况被称为一个冲突。在复制UPDATE 或DELETE 操作时,缺失的数据将不会产生冲突并且
这类操作将被简单地跳过。
冲突将会产生错误并且停止复制,
它必须由用户手工解决。
在订阅者的服务器日志中可
以找到有关冲突的详细情况。
通过更改订阅者上的数据
(这样它就不会与到来的数据发生冲突)
或者跳过与已有数据
冲突的事务可以解决这种冲突。通过调用pg_replication_origin_advance()函数可以跳过该事
务,函数的参数是对应于该订阅名称的node_name 以及一个位置。复制源头的当前位置可
以在pg_replication_origin_status 系统视图中看到。
GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1131