更新时间:2026-07-28 GMT+08:00
分享

操作步骤

  1. 内核相关参数配置。

    recovery_parse_workers,recovery_redo_workers,recovery_max_workers:请参考环境规格与回放类型选择进行选择。

    wal_level=hot_standby

    日志回放级别需大于或等于hot_standby。

    hot_standby=on

    备机读模块开关需设置为on。

    max_standby_streaming_delay=10s

    回放查询冲突时,备机在取消查询前会等待的时间;此参数会影响RTO。

    极致RTO场景需同时设置以下参数

    standby_max_query_time=10s

    回收逻辑计算回收点时,会取消超过standby_max_query_time的查询。建议与max_standby_streaming_delay配置保持一致。

    max_standby_base_page_size=256GB

    极致RTO备机读多版本历史空间的阈值,历史页面的base_page达到阈值的80%时,会触发强制回收并取消当前所有持有快照小于新回收点的查询。

    由于极致RTO为解决删除文件类型的回放查询冲突,引入多版本读机制,需持续保存历史版本页面。该空间与Xlog生成速率及实际业务类型强相关,且无法量化,需要以实际业务类型进行验证,才能获得较为可靠的建议占用空间大小。具体场景建议如下:

    1. 需保证读操作不报错,但无法避免备机长查询,且业务可接受RTO在部分查询时临时增加,同时磁盘空间受限:建议指定备机使用串行/并行回放备机读。
    2. 需保证读操作不报错,无法避免备机长查询,且业务不可接受RTO增加,但磁盘空间充足:参考极致RTO回放查询冲突白名单,约束主数据库实例DDL操作,并根据Xlog生成速率及standby_read目录空间膨胀比例,配置更大的max_standby_base_page_size与max_standby_lsn_info_size(经验值为base_page大小是lsn_info的5 ~ 7倍)。
    3. 可接受读报错后重试或避免长查询,但对RTO和磁盘空间有严格要求:需基于实际业务Xlog生成速率及standby_read目录空间膨胀比例,进行针对性配置。
    max_standby_lsn_info_size=256GB

    极致RTO备机读多版本历史空间的阈值,历史页面的base_page达到阈值的80%时,会触发强制回收并取消当前所有持有快照小于新回收点的查询。配置建议参考max_standby_base_page_size。

  2. JDBC相关参数配置。

    jdbc:gaussdb://node1,node2,node3,node4,node5,node6/database?targetServerType=slave

    targetServerType:指定要连接的服务器类型。该参数通过查询URL连接串中数据节点是否允许写操作,来识别主备数据节点,默认值为any。

    取值详解:
    • master:表示依次尝试连接URL中配置的IP,直到连接到主节点,若失败则抛出异常。
    • slave:表示依次尝试连接URL中配置的IP,直到连接到备节点,若失败则抛出异常。
    • preferSlave:表示尝试连接到URL中的备节点(如有可用节点),否则连接主节点。
    • any:尝试连接URL中的任意节点。
    • clusterMainNode:表示尝试连接到URL中的主节点或首备节点(容灾主节点),若失败则抛出异常。

相关文档