
# 配置只读延迟库
#### 操作场景
通过给只读实例设置延迟时间，可以配置只读延迟库，只读实例会延迟指定时间后再回放从主实例接收的wal日志。
如果您不小心误删了数据，只读实例会延迟指定时间后删除，您可以在这段时间内通过中止wal日志回放阻止只读实例回放wal日志，之后将数据从只读实例dump出来，重新在主实例插入，进而快速完成数据修复。
#### 约束限制
- 如果您需要使用该功能，请[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)申请。
- 支持RDS for PostgreSQL 12及以上版本的只读实例。
- 在配置"指定时间点回放"功能后，由于PostgreSQL数据库原理会导致主机与只读实例复制中断，期间若主实例wal日志轮转，会造成只读实例脱节（主实例数据无法同步到只读实例）。脱节后若用户需要恢复，需要先"重置回放时间"，然后[提交工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)进行只读实例恢复操作（恢复时间与实例数据大小及主实例资源使用情况有关）。
 
#### 配置只读延迟库
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002606863935.png)，选择区域。
3. 在实例列表中，单击实例名称前的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213822364.png)，单击目标只读实例的名称，进入只读实例的管理页面。
4. 进入"只读延迟"页面或刷新页面，会查询并显示当前时刻的只读延迟信息。 
   图1只读延迟信息   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248782433.png "点击放大")
   表1只读延迟信息说明 
   | 参数           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   |:---|:---|
   | 当前wal回放状态    | 只读实例当前wal日志回放状态。通过切换开关状态可以暂停/恢复wal日志回放。 - 开关打开：正常回放。  - 开关关闭：停止回放。   |
   | 真实延迟时间       | 页面加载以及刷新时，只读实例wal日志回放真实的延迟时间，单位ms。 该值和设置的延迟时间会略有不同，例如：主实例无业务时没有wal同步，真实延迟时间就是0ms。                                                                                                                                                                                                                                                                                                                  |
   | 设置延迟时间       | 用户设置的延迟时间，单位ms。单击![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213662588.png "点击放大")进行编辑。 延迟时间不宜设置过长，否则在主实例业务较大时，wal日志大量在只读实例堆积，会导致磁盘空间占满，并引发只读实例脱节。                                                                                                                                                                                                                    |
   | 最新回放的wal日志位点 | 只读实例最新回放的wal日志。                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 最新接收的wal日志   | 只读实例最新接收到的wal日志。                                                                                                                                                                                                                                                                                                                                                                                                                                                |
      
   
   
 
#### 指定时间点回放
1. 在只读延迟页面，暂停wal日志回放。 
   图2暂停回放   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248782417.png "点击放大")
   
   
2. 打开回放开关，选择"回放至指定时间"，表示回放到指定时间点后暂停回放。 
   图3回放至指定时间   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248782441.png "点击放大")
   ![](https://support.huaweicloud.com/usermanual-rds-pg/public_sys-resources/note_3.0-zh-cn.png)
   选择"自动回放"，表示恢复至正常回放状态，只读会连续回放接收到的wal日志。
   
   
3. 选择"可回放时间范围"内的某个时间点，单击"确定"，设置回放目标时间点。 
   ![](https://support.huaweicloud.com/usermanual-rds-pg/public_sys-resources/note_3.0-zh-cn.png)
   只读将回放wal日志到离目标时间点最近且在目标时间点之前的事务提交点。
   
   
4. 单击"重启实例"，开始恢复到设置的时间点。 
   图4重启实例   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213822368.png "点击放大")
   
   
5. 查看回放状态。 
   图5回放中   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248942309.png "点击放大")
   图6回放完成   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213822388.png "点击放大")
   
   
6. 指定时间点回放结束后，需要重置回放时间并重启实例，才能恢复正常回放。 
   1. 单击"重置回放时间"，在弹框中，单击"确定"。
      ![](https://support.huaweicloud.com/usermanual-rds-pg/public_sys-resources/note_3.0-zh-cn.png)
      重启实例后仍会存在延迟回放，延迟时间取决于参数"recovery_min_apply_delay"的取值。如果想立刻回放到指定时间，需要将该参数设置为0。
      图7重置回放时间   
      ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213822376.png "点击放大") 
   
   2. 单击"重启实例"。
      图8重启实例   
      ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248942329.png "点击放大") 
   
   3. 查看回放状态恢复正常。
      图9恢复正常回放   
      ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213822372.png "点击放大") 
   
   
   
   
 
