PostgreSQL 10.1 手册_部分 III. 服务器管理_第 31 章 逻辑复制_31.3. 冲突

本文探讨PostgreSQL逻辑复制过程中遇到的冲突问题,包括冲突的原因、如何定位冲突以及解决冲突的方法。介绍了通过调整数据或使用pg_replication_origin_advance()函数跳过冲突事务的技术。

31.3. 冲突

逻辑复制的行为与普通的DML操作类似,因为即使订阅者节点本地更改了数据, 数据也将被更新。如果传入数据违反任何限制,复制将停止。 这被称为冲突。当复制UPDATE 或者DELETE操作时,丢失的数据不会产生冲突,这样的操作将被忽略。

冲突会产生错误,并会停止复制;它必须由用户手动解决。 有关冲突的详细信息可以在订阅者的服务器日志中找到。

解决方案可以通过更改订阅者上的数据来完成,以免它与传入的更改冲突, 或者跳过与现有数据冲突的事务。事务可以通过调用 pg_replication_origin_advance() 函数使用node_name对应订阅名称和位置来跳过。 源的当前位置可以在 pg_replication_origin_status 系统视图中看到。

本文转自PostgreSQL中文社区,原文链接: 31.3. 冲突
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值