云数据库 GaussDB-开发人员选项:ustore_attr
ustore_attr
参数说明:该参数主要用来控制USTORE存储引擎表的信息统计、回滚类型、UBTree索引类型、重点模块(包括数据、索引、回滚段、回放等)运行时数据的校验,主要用于协助研发问题定位。该参数可在PDB级别设置。
参数类型:字符串
参数单位:无
取值范围:该参数值的设置方式采用key-value模式,key和value取值对应关系和说明如下。如果是多个key-value组合设置,中间使用“;”作为分隔符,例如:ustore_attr='ustore_verify_level=FAST;ustore_verify_module=UPAGE:UBTREE:UNDO:REDO'。
- ustore_verify_level:控制校验的级别。
表1 ustore_verify_level取值含义说明 参数取值
含义
NONE
NONE表示关闭校验,性能测试场景下推荐开启。
FAST
FAST表示快速校验,校验内容少,性能影响最小;兼容旧版本取值:NORMAL。
COMPLETE
COMPLETE表示全量校验,校验内容最多,性能影响比较大;兼容旧版本取值:SLOW。
默认值:FAST
- ustore_verify_module:控制校验的模块。
取值范围:设置值UPAGE,UBTREE,UNDO, REDO,ROACH中的一个或者多个,或者单独设置ALL或者NULL(不区分大小写)。当设置UPAGE,UBTREE,UNDO,REDO,ROACH中的多个值时,使用":"作为连接符。例如ustore_verify_module=UPAGE:UBTREE:UNDO:REDO。
当用户打开ROACH模块时,在ROACH备份过程中将无视ustore_verify_level参数,默认最高级别校验,对性能影响极大,建议谨慎使用。
表2 ustore_verify_module取值含义说明 参数取值
含义
UPAGE
表示开启数据页面校验。
UBTREE
表示开启UBTREE索引校验。
UNDO
表示开启回滚段数据校验。
REDO
表示开启REDO流程的数据页面校验。
ROACH
此参数废弃,底层逻辑已去掉校验,ustore_verify_module=roach依然能设置成功但并未生效。
ALL
表示同时开启UPAGE,UBTREE,UNDO,REDO,ROACH模块数据的校验。
NULL
表示同时关闭UPAGE,UBTREE,UNDO,REDO,ROACH模块数据的校验。
默认值:UPAGE:UBTREE:UNDO
- index_trace_level:控制开启索引追踪并控制打印级别,开启后在索引扫描的过程中,会根据不同的打印级别对符合条件的索引元组的信息进行打印。
默认值:NO
表3 index_trace_level取值含义说明 参数取值
含义
NO
不打印任何额外信息。
NORMAL
打印可见索引元组相关信息,包括:- 当前索引元组所在索引页面号以及偏移。
- 当前元组状态。
- 当前元组对应的TID以及partOid。
- 当前元组对应的xmin和xmax信息。
- 当前元组内容(如果开启enable_log_tuple)。
VISIBILITY
在NORMAL的基础上,额外打印没有通过可见性检查的索引元组的信息,并标明是否可见。
SHOWHIKEY
在VISIBILITY的基础上,尝试打印页面上HIKEY元组的信息。
ALL
打印扫描的索引页面上所有元组的相关信息。
- enable_log_tuple:打印日志级提示信息时,是否允许同时将相关元组的内容打印出来,以便进行问题排查和定位。
默认值:off
备注:该参数已弃用。
- enable_ustore_sync_rollback:控制USTORE表是否开启同步回滚。
默认值:true
- enable_ustore_async_rollback:控制USTORE表是否开启异步回滚。
默认值:true
- enable_ustore_page_rollback:控制USTORE表是否开启页面回滚。
默认值:true
- enable_ustore_partial_seqscan:是否允许USTORE表开启部分扫描。
默认值:false
- enable_candidate_buf_usage_count:是否开启缓存区使用计数统计。
默认值:false
- ustats_tracker_naptime:控制USTORE表统计信息周期。
默认值:20,单位为秒。
- umax_search_length_for_prune:控制USTORE表prune操作搜索的最大深度。
默认值:10,单位为次。

ustore_attr设置参数值时,key和value之间的“=”前后不要有空格或者其他字符,例如ustore_attr='ustore_verify_level = FAST;,内核代码校验时会发现参数不合法,导致参数设置失败。
默认值:"ustore_verify_level=FAST;ustore_verify_module=UPAGE:UBTREE:UNDO"。在PDB场景内,若未设置该参数,则继承来自全局的设置。
设置方式:该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。
设置建议:请慎重设置ustore_attr参数,建议在工程师协助下修改。
设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。