延时回放
可获得性
本特性自openGauss 2.0.0 版本开始引入。
特性简介
支持备机延时回放。
客户价值
默认情况下,备机会尽快恢复来自于主机的XLOG记录。这个功能允许备机将回放延时一段指定的时间后进行回放。提供一份可查询一段时间之前的数据副本,可以更方便的纠正用户误操作等错误。
特性描述
支持通过配置GUC参数recovery_min_apply_delay设定延时时间,使某个备机延时一段时间回放来自主机的事务日志。
参数取值范围:整型,0~INT_MAX,单位为毫秒。
参数默认值:0(不增加延迟)
特性增强
无。
特性约束
- recovery_min_apply_delay参数主节点设置无效,必须设置在需要延迟的备节点上。
- 延迟时间是根据主服务器上事务提交的时间戳与备机上的当前时间来计算,因此需要保证主备系统时钟一致。
- 没有事务的操作不会被延迟。
- 主备切换之后,原主机若需延迟,需要再手动配置此参数。
- 当synchronous_commit被设置为remote_apply时,同步复制会受到这个延时的影响,每一个COMMIT都需要等待备机回放结束后才会返回。
- 使用这个特性也会让hot_standby_feedback被延迟,这可能导致主服务器的膨胀,两者一起使用时要小心。
- 主机执行了持有AccessExclusive锁的DDL操作,比如DROP和TRUNCATE操作,在备机延迟回放该条记录期间,在备机上对该操作对象执行查询操作会等待锁释放之后才会返回。
依赖关系
无。