华为云用户手册

  • b_format_behavior_compat_options 参数说明:数据库MYSQL模式兼容性行为配置项。 参数类型:字符串 参数单位:无 取值范围:当前只支持表1 B模式兼容性配置项,当设置多个兼容性配置项时,相邻配置项之间用逗号隔开。 默认值:"" 此参数在b_format_version参数设置不为''时,b_format_behavior_compat_options会被设置为"all",而且不能被修改。 表1 MYSQL模式兼容性配置项 兼容性配置项 兼容性行为控制 default_collation 默认字符序前向兼容开关。 若不设置此配置项,在未显式指定字符类型字段的字符集或字符序且表级字符序也为空时,字段为default字符序。 若设置此配置项,字符类型字段的字符序当表级字符序不为空时继承表级字符序,为空时设置为数据库编码对应的默认字符序。 all 打开所有语法控制开关。 all不能同时和其他配置项一起指定。表格中除all外所有配置项逗号隔开的含义和取值为all含义相同。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:控制一些MYSQL兼容性特性是否可用,若要更改,请在理解参数含义后谨慎操作,避免因误操作产生意料之外的风险。
  • a_format_version 参数说明:数据库平台兼容性行为配置项,该参数的值为字符串枚举值。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:"" 当前只支持兼容性配置项如表3所示。 兼容性配置项时设置字符串,例如:set a_format_version='10c'; 表3 兼容性配置项 兼容性配置项 兼容性行为控制 10c ORA平台兼容10C版本
  • sql_mode 参数说明:MySQL兼容模式下SQL行为控制配置项。 依赖sql_compatibility兼容性参数设置为MYSQL、b_format_version设置为'5.7'、b_format_dev_version 设置为's1'时,sql_mode才会生效。 参数类型:字符串 参数单位:无 取值范围:空字符串''或 'strict_trans_tables,only_full_group_by,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution,pad_char_to_full_length'中的选项值。每个选项值的含义如表6所述。 表6 兼容性配置项 兼容性配置项 兼容性行为控制 参数配置说明 strict_trans_tables 当前仅支持对MySQL兼容数据库下数据类型及系统函数做校验。 设置时,对输入的参数格式和范围做严格校验。无效值输入或者超过范围时,解析报error。 不设置时,对输入的参数格式和范围做宽松校验,无效值输入或者超过范围时,解析报warning,返回对应数据的0值。 可独立设置和取消。 only_full_group_by 不允许出现非GROUP BY的key值、且不是常量和聚集函数的投影列。 可独立设置和取消,但无实际作用。 no_zero_in_date 不允许日期中的年、月、日是0值。 可独立设置和取消,但无实际作用。 no_zero_date 不允许日期是0值(0000-00-00)。 可独立设置和取消,但无实际作用。 error_for_division_by_zero 不允许被0除。 可独立设置和取消,但无实际作用。 no_auto_create_user 无实际作用,仅用作 SET SQL_MODE 语句包含此选项时不报错的兼容作用。 可独立设置和取消。 no_engine_substitution 无实际作用,仅用作 SET SQL_MODE 语句包含此选项时不报错的兼容作用。 可独立设置和取消。 pad_char_to_full_length 用于表中的char类型列格式化输出,包含时输出带有尾部空格的字符串,否则输出不带尾部空格字符串。 可独立设置和取消。 no_auto_value_on_zero 包含此选项后,向AUTO_INCREMENT自动增长列插入0值将不会自增。 可独立设置和取消。 默认值:'strict_trans_tables,only_full_group_by,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution' 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:无
  • standard_conforming_strings 参数说明:控制普通字符串文本('...')中是否按照SQL标准把反斜扛当普通文本。 应用程序通过检查这个参数可以判断字符串文本的处理方式。 建议明确使用转义字符串语法(E'...')来转义字符。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开控制功能。 off表示关闭控制功能。 默认值:on
  • escape_string_warning 参数说明:警告在普通字符串中直接使用反斜杠转义。 如果需要使用反斜杠作为转义,可以调整为使用转义字符串语法(E'...')来做转义,因为在每个SQL标准中,普通字符串的默认行为现在将反斜杠作为一个普通字符。 这个变量可以帮助定位需要改变的代码。 使用E转义会导致部分场景下日志记录不全。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 默认值:on
  • default_with_oids 参数说明:在没有声明WITH OIDS和WITHOUT OIDS的情况下,这个选项控制在新创建的表中CREATE TABLE和CREATE TABLE AS是否包含一个OID字段。它还决定SELECT INTO创建的表里面是否包含OID 。 不推荐在用户表中使用OID,故默认设置为off。需要带有OID字段的表应该在创建时声明WITH OIDS 。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示在新创建的表中CREATE TABLE和CREATE TABLE AS可以包含一个OID字段。 off表示在新创建的表中CREATE TABLE和CREATE TABLE AS不可以包含一个OID字段。 默认值:off
  • quote_all_identifiers 参数说明:当数据库生成SQL时,此选项强制引用所有的标识符(包括非关键字)。这将影响到EXPLAIN的输出及函数的结果,例如pg_get_viewdef。详细说明请参见gs_dump的--quote-all-identifiers选项。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开强制引用。 off表示关闭强制引用。 默认值:off
  • synchronize_seqscans 参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示扫描可能从表的中间开始,然后选择"环绕"方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。 off表示确保顺序扫描是从表头开始的。 默认值:on
  • system_view_version 参数说明:控制系统视图的版本。具体详见表1 系统视图版本参数说明。所有版本向下兼容,例如system_view_version=3时同时满足版本2与版本1的所有特性。 参数类型:整型 参数单位:无 取值范围:0~9999 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:升级场景不做修改,安装场景配置为表1 系统视图版本参数说明中的最大版本。 表1 系统视图版本参数说明 取值 说明 0 默认行为 1 V$GLOBAL_TRANSACTION视图的PREPARECOUNT字段当 GaussDB 中不存在已准备好的事务时由NULL变为0。
  • enable_beta_features 参数说明:控制开启某些非正式发布的特性,仅用于POC验证,例如GDS表关联操作。这些特性属于延伸特性,建议客户谨慎开启,在某些功能场景下可能存在问题。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示开启这些功能受限的特性,保持前向兼容。但某些场景可能存在功能上的问题。 off表示禁止使用这些特性。 默认值:off
  • local_preload_libraries 参数说明:指定一个或多个共享库,它们在开始连接前预先加载。多个加载库之间用逗号分隔,除了双引号,所有的库名都转换为小写。 并非只有系统管理员才能更改此选项,因此只能加载安装的标准库目录下plugins子目录中的库文件,数据库管理员有责任确保该目录中的库都是安全的。local_preload_libraries中指定的项可以明确含有该目录,例如$libdir/plugins/mylib;也可以仅指定库的名称,例如mylib(等价于$libdir/plugins/mylib)。 与shared_preload_libraries不同,在会话开始之前加载模块与在会话中使用到该模块的时候临时加载相比并不具有性能优势。相反,这个特性的目的是为了调试或者测量在特定会话中不明确使用LOAD加载的库。例如针对某个用户将该参数设为ALTER USER SET来进行调试。 当指定的库未找到时,连接会失败。若误设置出错(包括长度超过限制、非法目录等),会影响进程正常拉起。 每一个支持GaussDB的库都有一个“magic block”用于确保兼容性,因此不支持GaussDB的库不能通过这个方法加载。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:空
  • 简化输入 简化输入到 CS V日志文件,可以通过如下操作: 设置log_filename和log_rotation_age,为日志文件提供一个一致的、可预测的命名方案。通过日志文件名,预测一个独立的日志文件完成并进入准备导入状态的时间。 将log_rotation_size设为0来终止基于尺寸的日志回滚,因为基于尺寸的日志回滚让预测日志文件名变得非常的困难。 将log_truncate_on_rotation设为on以便区分在同一日志文件中旧的日志数据和新的日志数据。
  • enable_auto_explain 参数说明:控制是否开启自动打印执行计划。该参数是用来定位慢存储过程或慢查询,只对当前连接的CN有效,不影响其他CN的执行。 参数类型:布尔型 参数单位:无 取值范围: on表示开启。 off表示关闭。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,若需查看执行计划,则开启,但会降低当前系统性能。
  • auto_explain_log_min_duration 参数说明:控制自动打印执行计划的耗时阈值,整体耗时大于auto_explain_log_min_duration的执行计划才会被打印。比如设置为0,所有执行过的执行计划都会输出;设置为3000,单次语句执行耗时超过3000毫秒的所有执行的执行计划会输出。 参数类型:整型 参数单位:毫秒 取值范围:0~2147483647 默认值:0 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。
  • create_gsi_opt 参数说明:控制全局二级索引GSI创建模式。除none模式外,其他模式需要打开enable_stream_operator参数才会生效。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 none:使用PGXC的方式创建。 build:使用STREAMING+GSI BUILD算子的方式创建。 parallel:使用STREAMING+GSI BUILD算子+并行排序的方式创建(需要设置基表的parallel_workers参数)。 默认值:build
  • enable_invisible_indexes 参数说明:设置优化器是否可以使用不可见索引。 索引在被设置为不可见状态后,可能会对查询语句的性能产生影响。此时若不想变更索引可见性状态,且打算使用不可见索引,可设置enable_invisible_indexes参数为on。 参数类型:布尔型 参数单位:无 取值范围: on:优化器可以使用不可见索引。 off:优化器不可以使用不可见索引。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。
  • enable_dynamic_samplesize 参数说明:是否动态调整采样行数。对于超过一百万行的大表,收集统计信息时动态调整采样行数,提高统计信息准确性。 参数类型:布尔型 参数单位:无 取值范围: on:表示该功能打开。 off:表示该功能关闭。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 动态调整采样行数的功能仅支持绝对值采样。
  • router 参数说明:用于控制router功能的详细属性,仅在打开enable_router和enable_light_proxy后生效。该参数会根据表的hash分布列,计算给定的分布列所在DN,设置router后将支持的sql下推到该DN上执行。如果设置错了router,可能导致数据存入错误的DN,导致不可预测的问题,需谨慎使用。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 该参数分为两部分,'schema_name.table_name,"distribute_keys"',其具体含义如下: schema_name.table_name:表示schema名和表名,如不显示设置schema_name,则默认为current_schema。 distribute_keys:分布表的所有分布列值,用逗号间隔开,且分布列值的顺序必须和表中分布列顺序一致。 默认值:空
  • session_sequence_cache 参数说明:在当前会话下,一次性交互申请的sequence数值,会话结束会自动丢弃未用完的值。用户在使用sequence大批量导入数据的时候可以通过调大该参数,提高插入速度,增加高并发性能;用户在高并发单条插入数据的时候,将该参数设置为1,减少了sequence的跳变。如对连续性有强要求,需要在创建sequence的时候指定需要的cache,该参数如果大于cache指定的值会自动失效。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1 ~ 2147483647。 默认值:10 默认值为10是高并发场景下,兼顾单条插入和批量插入的性能会有比较好的表现。
  • default_statistic_granularity 参数说明:默认情况下,当未指定PARTITION_MODE时,指定默认收集哪些分区表分区级统计信息。对非分区表不生效。 参数类型:枚举型 参数单位:无 取值范围:枚举型 ALL:收集整表、一级分区的统计信息。 GLOBAL:收集整表的统计信息。 PARTITION:收集一级分区的统计信息。 GLOBAL_AND_PARTITION:收集整表、一级分区的统计信息。 ALL_COMPLETE:收集整表、一级分区的统计信息。 默认值:ALL 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。如果需要收集分区级统计信息,可根据实际需要设置,但可能会对ANALYZE的性能产生一定影响。
  • constraint_exclusion 参数说明:控制查询优化器使用表约束查询的优化。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 on/true/yes/1表示检查所有表的约束。 off/false/no/0表示不检查约束。 partition表示只检查继承的子表和UNION ALL子查询。 当constraint_exclusion为on,优化器用查询条件和表的CHECK约束比较,并且在查询条件和约束冲突的时候忽略对表的扫描。 默认值:partition 目前, constraint_exclusion缺省被打开,通常用来实现表分区。为所有的表打开它时,对于简单的查询强加了额外的规划,并且对简单查询没有什么好处。如果不用分区表,可以关掉它。
  • llvm_max_memory 参数说明:此参数仅限制Codegen执行方式下,编译产生的IR(包括缓存的和正在使用的)内存使用上限。Codegen使用的内存不采用预占的方式申请,属于max_dynamic_memory的一部分,且受llvm_max_memory参数的限制。 参数类型:整型 参数单位:kB 取值范围:0 ~ 2147483647,超过设定值则不再使用Codegen执行逻辑,降级为原有递归执行逻辑。当到达设定的上限触发执行降级后,调小llvm_max_memory的值无法立即释放多余IR所占用的内存,实际IR所占用的内存随着对应的SQL执行完毕后释放。 默认值:131072kB(128MB) 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:建议设置为默认值。 最大占用内存如果设置过小,则易使系统不再使用Codegen执行逻辑,影响功能使用。 最大占用内存如果设置过大,可能会造成LLVM的编译过多占用其他线程的资源,造成系统整体性能下降。
  • plan_cache_mode 参数说明:标识在prepare语句中,选择生成执行计划的策略。 参数类型:枚举型 参数单位:无 取值范围: auto表示按照默认的方式选择custom plan或者generic plan。 force_generic_plan表示强制走generic plan(软解析)。generic plan是指对于prepare语句生成计划,该计划策略会在执行execute语句的时候把参数bind到plan中,然后执行计划。这种方案的优点是每次执行可以省去重复的优化器开销;缺点是当bind参数字段上数据存在倾斜时该计划可能不是最优的,部分bind参数场景下执行性能较差。bind会绑定第一次传入的参数类型,如果同一占位符两次传入的参数类型不一致会导致报错。 force_custom_plan表示强制走custom plan(硬解析)。custom plan是指对于prepare语句,在执行execute的时候,把execute语句中的参数嵌套到语句之后生成的计划。custom plan会根据execute语句中具体的参数生成计划,这种方案的优点是每次都按照具体的参数生成优选计划,执行性能比较好;缺点是每次执行前都需要重新生成计划,存在大量的重复的优化器开销。 此参数只对prepare语句生效,一般用在prepare语句中参数化字段存在比较严重的数据倾斜的场景下。 默认值:auto 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:根据实际业务场景进行设置。
  • codegen_cost_threshold 参数说明:由于LLVM编译生成最终的可执行机器码需要一定时间,因此只有当实际执行的代价大于编译生成机器码所需要的代码和优化后的执行代价之和时,利用代码生成才有收益。codegen_cost_threshold标识代价的阈值,当执行估算代价大于该代价时,使用LLVM优化。codegen使用执行算子的plan_rows作为代价与codegen_cost_threshold进行比较,plan_rows的值可以通过explain命令查看。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0 ~ 2147483647。 默认值:100000
  • enable_extrapolation_stats 参数说明:标识对于日期类型是否允许基于历史统计信息使用推理估算的逻辑。使用该逻辑对于未及时收集统计信息的表可以增大估算准确的可能性,但也存在错误推理导致估算过大的可能性,需要对于日期类型数据定期插入的场景开启此开关。该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许基于历史统计信息使用推理估算的逻辑。 off表示不允许基于历史统计信息使用推理估算的逻辑。 默认值:off
  • enable_sonic_optspill 参数说明:标识是否对面向列的hash表设计的Hash Join算子进行下盘文件数优化。该参数打开时,在Hash Join算子下盘文件较多的时候,下盘文件数不会显著增加。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示优化面向列的hash表设计的Hash Join算子的下盘文件数。 off表示不优化面向列的hash表设计的Hash Join算子的下盘文件数。 默认值:on
  • plan_mode_seed 参数说明:该参数为调测参数,目前仅支持OPTIMIZE_PLAN和RANDOM_PLAN两种。其中:OPTIMIZE_PLAN表示通过动态规划算法进行代价估算的最优plan,参数值设置为0;RANDOM_PLAN表示随机生成的plan;如果设置为-1,表示用户不指定随机数的种子标识符seed值,由优化器随机生成[1, 2147483647]范围整型值的随机数,并根据随机数生成随机的执行计划;如果用户指定GUC参数值为[1, 2147483647]范围的整型值,表示指定的生成随机数的种子标识符seed,优化器需要根据seed值生成随机的执行计划。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-1~ 2147483647 默认值:0 当该参数设置为随机执行计划模式时,优化器会生成不同的随机执行计划,该执行计划可能不是最优计划。因此在随机计划模式下,会对查询性能产生影响,所以建议在升级、扩容、缩容等正常业务操作或运维过程中将该参数保持为默认值0。 当该参数不为0时,查询指定的plan hint不会生效。
  • query_dop 参数说明:用户自定义的查询并行度。该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,-64-64 [1,64]:打开固定SMP功能,系统会使用固定并行度。 0:打开SMP自适应功能,系统会根据资源情况和计划特征动态选取最优并行度。 [-64,-1]:打开SMP自适应功能,并限制自适应选取的最大并行度。 在开启并行查询后,请保证系统CPU、内存、网络、I/O等资源充足,以达到最佳效果。 为了避免用户设置不合理的过大值造成性能劣化,系统会计算出该DN可用最大CPU核数,并以此来作为query_dop的上限。如果用户设置query_dop超过4并且同时超过该上限,那么系统会重置query_dop为该上限值。 默认值:1
  • cursor_tuple_fraction 参数说明:优化器估计游标获取行数在总行数中的占比。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:浮点型,0.0~1.0。 比默认值小的值与使用 “fast start” 为游标规划的值相偏离,从而使得前几行恢复的很快而抓取全部的行需要很长的时间。比默认值大的值加大了总的估计的时间。在最大的值1.0处,像正常的查询一样规划游标,只考虑总的估计时间和传送第一行的时间。 默认值:0.1
  • join_collapse_limit 参数说明:根据得出的列表项数来判断优化器是否执行把除FULL JOINS之外的JOIN构造重写到FROM列表中。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,1~2147483647‬。 设置为1会避免任何JOIN重排。这样就使得查询中指定的连接顺序就是实际的连接顺序。查询优化器并不是总能选取最优的连接顺序,高级用户可以选择暂时把这个变量设置为1,然后指定它们需要的连接顺序。 比默认值小的数值减少规划时间但也降低了执行计划的质量。 默认值:8
共100000条