更新时间:2024-06-03 GMT+08:00
分布式备机读参数
enable_standby_read
参数说明:控制session开启备机读功能。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示该session开启分布式备机读功能。
- off表示该session不开启分布式备机读功能。
默认值:off
- 仅在gtm-free模式、非事务块内、hot-standby模式下支持开启。
- 该参数只能在session级别设置,不支持gs_guc方式进行设置。
- 若在非session级别设置(如手动在配置文件中将该参数打开),在参数冲突时,会导致集群无法拉起;在参数不冲突时,会导致后台线程如autovacuum、WorkloadMonitor等也开启分布式备机读模式,其DDL、DML等作业会受到影响而报错。
- 该参数只能在session级别设置,不支持gs_guc set\reload方式进行设置。若配置文件设置中设置打开该参数则重启报错失败。
enable_direct_standby_datanodes
参数说明:控制session开启execute direct on扩展能力。该参数成功设置后execute direct on语句可以实现连接到任意一个备DN或者一个分片所有备DN上执行查询,具体需要参考execute direct on语法参数。该参数用来控制在分布式备机读场景下execute direct on执行连接行为。主要用于WDR、以及数据库测试和运维使用,其他场景不建议打开使用。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on/true表示该session开启execute direct on支持分布式备机查询功能。
- off/false表示该session不开启execute direct on支持分布式备机查询功能。
默认值:off
- 仅在gtm-free模式、非事务块内、hot-standby模式下支持开启。
- 该参数只能在session级别设置,不支持gs_guc set\reload方式进行设置。若配置文件设置中设置打开该参数则重启报错失败。
- 同一个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实例进程都已替换到最新的二进制,否则会出现报文校验失败执行报错。
standby_read_delay
参数说明:控制备机读时主备的最大差异,超过该参数不支持备机读。该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,-1~INT_MAX,单位为ms。-1表示备机读时不需要做主备差异的校验,0表示主备没有差异的时候才能进行备机读。
默认值:10000000
standby_read_rto
参数说明:控制备机读时系统最大RTO,超过该参数不支持备机读。该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。
取值范围:整型,-1~INT_MAX,单位为ms。-1表示备机读时不需要做系统RTO的校验,0表示至少有一台备机的RTO为0,才能进行备机读。
默认值:60000
父主题: GUC参数说明