更新时间:2024-11-12 GMT+08:00
分享

分布式备机读参数

enable_standby_read

参数说明控制session是否开启备机读功能。

仅在GTM-Free、GTM-Lite模式、非灾备集群、非事务块内、hot-standby模式下支持开启。

参数类型:布尔型

参数单位:

取值范围

  • on:表示该session开启分布式备机读功能。
  • off:表示该session不开启分布式备机读功能。

默认值off

设置方式:该参数属于USERSET类型参数,只能在session级别设置(set enable_standby_read = on),不支持gs_guc set/reload方式进行设置。

设置建议:无法通过gs_guc进行设置,如需要进行备机查询,请在session会话中开启。

设置不当的风险与影响若在非session级别设置(如在配置文件中将该参数打开),在参数冲突时会导致集群无法拉起;在参数不冲突时,会导致后台线程如autovacuum、WorkloadMonitor等也开启分布式备机读模式,其DDL、DML等作业会受到影响而报错。

enable_direct_standby_datanodes

参数说明控制session是否开启execute direct on扩展能力。该参数开启后,execute direct on语句可以连接到任意一个备DN或者一个分片所有备DN上执行查询,execute direct on语法具体详见《开发指南》的“SQL参考 > SQL语法 > EXECUTE DIRECT”。

  • 仅在gtm-free模式、非事务块内、hot-standby模式下支持开启。
  • 同一个seesion上,若set enable_standby_read = on 之后设置 set enable_direct_standby_datanodes = on则报错。反之,若set enable_direct_standby_datanodes = on 之后设置 set enable_standby_read= on也报错。
  • 该参数打开之后当前session为只读状态,其DDL、DML等作业会受到影响而报错。
  • 该参数打开之后执行execute direct on仅支持查询系统视图、系统函数或者系统表等系统DFX信息,不支持查看普通用户表。
  • enable_direct_standby_datanodes参数打开后execute direct on支持分布式备机查询,在升级过程使用该功能时必须保证CN和DN实例进程都已替换到最新的二进制,否则会出现报文校验失败执行报错。

参数类型:布尔型

参数单位:

取值范围

  • on:表示该session开启execute direct on扩展能力。
  • off:表示该session不开启execute direct on扩展能力。

默认值off

设置方式:该参数属于USERSET类型参数,只能在session级别设置(set enable_direct_standby_datanodes = on),不支持gs_guc set/reload方式进行设置。

设置建议:该参数用来控制在分布式备机读场景下execute direct on执行连接行为。主要用于WDR、以及数据库测试和运维使用,其他场景不建议打开使用。该参数无法通过gs_guc进行设置,如需要进行备机查询,请在session会话中开启。

设置不当的风险与影响若配置文件中设置打开该参数,将无法启动此数据库节点。

standby_read_delay

参数说明控制备机读时主备的最大差异,超过该参数不支持备机读。

参数类型:整型

参数单位:ms(毫秒)

取值范围-1 ~ 2147483647

  • -1:表示备机读时不需要做主备差异的校验。
  • 0:表示主备没有差异的时候才能进行备机读。

默认值10000000

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,设置为86400,不带单位,表示86400ms;设置为1d,带单位,表示1d。取值如果要带单位,必须为ms、s、min、h、d。

设置建议:根据实际业务需求合理设置。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

standby_read_rto

参数说明控制备机读时系统最大RTO,超过该参数不支持备机读。

参数类型:整型

参数单位:ms(毫秒)

取值范围-1 ~ 2147483647

  • -1:表示备机读时不需要做系统RTO的校验。
  • 0:表示至少有一台备机的RTO为0,才能进行备机读。

默认值60000

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。例如,设置为86400,不带单位,表示86400ms;设置为1d,带单位,表示1d。取值如果要带单位,必须为ms、s、min、h、d。

设置建议:根据实际业务需求合理设置。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

相关文档