云服务器内容精选

  • ustore_attr 参数说明:该参数主要用来控制USTORE存储引擎表的信息统计,回滚类型,重点模块(包括数据、索引、回滚段、回放等)运行时数据的校验,主要用于协助研发问题定位。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,该参数值的设置方式采用key-value模式,key和value取值对应关系和说明如下。如果是多个key-value组合设置,中间使用";"作为分隔符,例如: ustore_attr='ustore_verify_level=NORMAL;ustore_verify_module=UPAGE:UBTREE:UNDO:REDO'。 ustore_attr设置参数值时,key和value之间的"="前后不要有空格或者其他字符,例如ustore_attr='ustore_verify_level = NORMAL;,内核代码校验会发现参数不合法,导致参数设置失败。 ustore_verify_level:控制校验的级别。 取值范围:字符串,见下述表格详细描述。 表1 ustore_verify_level取值含义说明 参数取值 含义 FAST FAST表示快速校验,校验内容少,性能影响最小。 NORMAL NORMAL表示正常校验,校验内容相比快速校验增多,性能影响中等。 SLOW SLOW表示慢速校验,校验内容最多,性能影响比较大。 默认值:空字符串 ustore_verify_module:控制校验的模块。 取值范围:字符串,设置值UPAGE,UBTREE,UNDO, REDO中的一个或者多个,或者单独设置ALL或者NULL(不区分大小写)。当设置 UPAGE,UBTREE,UNDO,REDO中的多个值时,使用":"作为连接符。例如ustore_verify_module=UPAGE:UBTREE:UNDO:REDO。 表2 ustore_verify_module取值含义说明 参数取值 含义 UPAGE 表示开启数据页面校验 UBTREE 表示开启UBTREE索引校验 UNDO 表示开启回滚段数据校验 REDO 表示开启REDO流程的数据页面校验 ALL 表示同时开启UPAGE,UBTREE,UNDO,REDO模块数据的校验 NULL 表示同时关闭UPAGE,UBTREE,UNDO,REDO模块数据的校验 默认值:空字符串 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:打印日志级提示信息时,是否允许同时将相关元组的内容打印出来,以便进行问题排查和定位。 取值范围:on或者off(不区分大小写) 默认值: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表统计信息周期。 取值范围:1~INT_MAX/1000 默认值:20, 单位(秒) umax_search_length_for_prune:控制USTORE表prune操作搜索的最大深度。 取值范围:1~INT_MAX/1000 默认值:10,单次(次) 默认值:空字符串 该参数只适用于集中式上的USTORE存储引擎表。
  • string_hash_compatible 参数说明:该参数用来说明char类型和varchar/text类型的hash值计算方式是否相同,以此来判断进行分布列从char类型到相同值的varchar/text类型转换,数据分布变化时,是否需要进行重分布。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示计算方式相同,不需要进行重分布。 off表示计算方式不同,需要进行重分布。 计算方式的不同主要体现在字符串计算hash值时传入的字节长度上。(如果为char,则会忽略字符串后面空格的长度,如果为text或varchar,则会保留字符串后面空格的长度。)hash值的计算会影响到查询的计算结果,因此此参数一旦设置后,在整个数据库使用过程中不能再对其进行修改,以避免查询错误。 默认值:off
  • numa_distribute_mode 参数说明:用于控制部分共享数据和线程在NUMA节点间分布的属性。用于大型多NUMA节点的ARM服务器性能调优,一般不用设置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,当前有效取值为'none', 'all'。 none: 表示不启用本特性。 all:表示将部分共享数据和线程分布到不同的NUMA节点下,减少远端访存次数,提高性能。目前仅适用于拥有多个NUMA节点的ARM服务器,并且要求全部NUMA节点都可用于数据库进程,不支持仅选择一部分NUMA节点。 当前版本x86架构下不支持numa_distribute_mode设置为all。 默认值:'none'
  • advance_xlog_file_num 参数说明:用于控制在后台周期性地提前初始化xLog文件的数目。该参数是为了避免事务提交时执行xLog文件初始化影响性能,但仅在超重负载时才可能出现,因此一般不用配置。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~1000000(0表示不提前初始化)。例如,取值10,表示后台线程会周期性地根据当前xLog写入位置提前初始化10个xLog文件。 默认值:0
  • trace_recovery_messages 参数说明:启用恢复相关调试输出的日志录,否则将不会被记录。该参数允许覆盖正常设置的log_min_messages,但是仅限于特定的消息,这是为了在调试备机中使用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、log,取值的详细信息请参见log_min_messages。 默认值:log 默认值log表示不影响记录决策。 除默认值外,其他值会导致优先级更高的恢复相关调试信息被记录,因为它们有log优先权。对于常见的log_min_messages设置,这会导致无条件地将它们记录到服务器日志上。
  • zero_damaged_pages 参数说明:控制检测导致 GaussDB 报告错误的损坏的页头,终止当前事务。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 设置为on时,会导致系统报告一个警告,把损坏的页面填充为零然后继续处理。这种行为会破坏数据,也就是所有在已经损坏页面上的行记录。但是它允许绕开坏页面然后从表中尚存的未损坏页面上继续检索数据行。因此它在因为硬件或者软件错误导致的崩溃中进行恢复是很有用的。通常不应该把它设置为on,除非不需要从崩溃的页面中恢复数据。 默认值:off
  • enable_fast_numeric 参数说明:标识是否开启Numeric类型数据运算优化。Numeric数据运算是较为耗时的操作之一,通过将Numeric转化为int64/int128类型,提高Numeric运算的性能。 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on/true表示开启Numeric优化。 off/false表示关闭Numeric优化。 默认值:on
  • allow_system_table_mods 参数说明:设置是否允许修改系统表的结构或系统自带模式名称。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许修改系统表的结构或系统自带模式名称。 off表示不允许修改系统表的结构或系统自带模式名称。 默认值:off 不建议修改该参数默认值,若设置为on,可能导致系统表损坏,甚至数据库无法启动。
  • debug_assertions 参数说明:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译GaussDB的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开断言检查。 off表示不打开断言检查。 当启用断言选项编译GaussDB时,debug_assertions缺省值为on 。 默认值:off
  • allow_create_sysobject 参数说明:设置是否允许在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词、聚合函数等对象,并允许初始用户在系统模式下创建操作符。其他用户是否允许创建这些对象请参考对应模式的权限要求。 off表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。 默认值:on
  • post_auth_delay 参数说明:在认证成功后,延迟指定时间,启动服务器连接。允许调试器附加到启动进程上。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为0,最大值为2147,单位为秒。 默认值:0 此参数只用于调试和问题定位,为避免影响正常业务运行,生产环境下请确保参数值为默认值0。参数设置为非0时可能会因认证延迟时间过长导致数据库实例状态异常。
  • global_syscache_threshold 参数说明:全局系统缓存内存最大占用大小。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 需要打开enable_global_syscache参数。 取值范围:整型,16384~1073741824,单位为kB。 默认值:163840 推荐计算公式:热点DB个数和线程个数的最小值乘以每个DB分配的内存大小 即global_syscache_threshold = min(count(hot dbs),count(threads)) * memofdb 热点DB数即访问较为频繁的数据库,线程数在线程池模式下取线程池线程个数和后台线程个数之和,非线程池模式不需要计算这个值,直接使用热点DB数。 memofdb即平均每个db应该分配的内存,每个DB的底噪内存是2M,平均每增加一个表或者索引,增加11k内存。 如果设置的值过小,会导致内存频繁淘汰,内存存在大量碎片无法回收,导致内存控制失效。
  • max_size_for_xlog_retention 参数说明:用于控制何时触发备份复制槽的强制推进,以避免由于备份操作过程中日志无法回收导致磁盘满、集群只读等影响。该参数实际设置值建议比cm_server组件的datastorage_threshold_value_check略小一点,以避免集群进入只读状态。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:-100 ~ 2147483647 0表示关闭该功能。 负值表示按磁盘阈值触发,如-80,表示当磁盘阈值超过80%,且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 正值表示按日志积压大小触发,如32,表示当备份复制槽落后当前检查点redo位置超过32段日志大小(每段日志大小为16MB),且日志回收是由于备份操作被阻塞,那么会触发备份复制槽的强制推进。 默认值:0
  • upgrade_mode 参数说明:升级模式。 该参数属于INTERNAL类型参数,为固定参数,用户无法修改此参数,只能查看。 取值范围:整数,0~INT_MAX 0表示不在升级过程中。 1表示在就地升级过程中。 2表示在灰度升级过程中。 默认值:0 特殊情况:在使用灰度升级的情况下,若选择策略为大版本升级,即需要执行升级脚本和替换二进制包,会将upgrade_mode设置为2,选择策略为小版本升级,只替换二进制包,则不会设置upgrade_mode设置为2。
  • hll_default_expthresh(废弃) 参数说明:该参数可以用来设置从Explicit模式到Sparse模式的默认阈值大小。当前已经使用参数hll_default_log2explicit替代类似功能。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-1~7。-1表示自动模式,0表示跳过Explicit模式,取1-7表示在基数到达2hll_default_expthresh时切换模式。 默认值:-1