华为云用户手册

  • debug_assertions 参数说明:控制打开各种断言检查。能够协助调试,当遇到奇怪的问题或者崩溃,请把此参数打开,因为它能暴露编程的错误。要使用这个参数,必须在编译 GaussDB 的时候定义宏USE_ASSERT_CHECKING(通过configure选项 --enable-cassert完成)。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开断言检查。 off表示不打开断言检查。 当启用断言选项编译GaussDB时,debug_assertions缺省值为on 。 默认值:off
  • 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
  • show_acce_estimate_detail 参数说明:评估信息一般用于运维人员在维护工作中使用,因此该参数默认关闭,此外为了避免这些信息干扰正常的explain信息显示,只有在explain命令的verbose选项打开的情况下才显示评估信息(由于规格变更,当前版本已经不再支持本特性,请不要使用)。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示可以在explain命令的输出中显示评估信息。 off表示不在explain命令的输出中显示评估信息。 默认值:off 当前版本不支持加速数据库实例,因此该参数设置后不生效。
  • post_auth_delay 参数说明:在认证成功后,延迟指定时间,启动服务器连接。允许调试器附加到启动进程上。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,最小值为0,最大值为2147,单位为秒。 默认值:0 此参数只用于调试和问题定位,为避免影响正常业务运行,生产环境下请确保参数值为默认值0。参数设置为非0时可能会因认证延迟时间过长导致数据库实例状态异常。
  • trace_recovery_messages 参数说明:启用恢复相关调试输出的日志录,否则将不会被记录。该参数允许覆盖正常设置的log_min_messages,但是仅限于特定的消息,这是为了在调试备机中使用。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型,有效值有debug5、debug4、debug3、debug2、debug1、log,取值的详细信息请参见log_min_messages。 默认值:log 默认值log表示不影响记录决策。 除默认值外,其他值会导致优先级更高的恢复相关调试信息被记录,因为它们有log优先权。对于常见的log_min_messages设置,这会导致无条件地将它们记录到服务器日志上。
  • resource_track_log 参数说明:控制自诊断的日志级别。目前仅对多列统计信息(当前特性是实验室特性,使用时请联系华为工程师提供技术支持)进行控制。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 summary:显示简略的诊断信息。 detail:显示详细的诊断信息。 目前这两个参数值只在显示多列统计信息未收集的告警的情况下有差别,summary不显示未收集多列统计信息的告警,detail会显示这类告警。 默认值:summary
  • allow_create_sysobject 参数说明:设置是否允许在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。此处的系统模式指数据库初始后自带的模式,但不包含public模式。系统模式的oid通常小于16384。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许初始用户和系统管理员在系统模式下创建或修改函数、存储过程、同义词、聚合函数等对象,并允许初始用户在系统模式下创建操作符。其他用户是否允许创建这些对象请参考对应模式的权限要求。 off表示禁止所有用户在系统模式下创建或修改函数、存储过程、同义词、聚合函数、操作符等对象。 默认值:on
  • allow_system_table_mods 参数说明:设置是否允许修改系统表的结构或系统自带模式名称。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许修改系统表的结构或系统自带模式名称。 off表示不允许修改系统表的结构或系统自带模式名称。 默认值:off 不建议修改该参数默认值,若设置为on,可能导致系统表损坏,甚至数据库无法启动。
  • transaction_deferrable 参数说明:指定是否允许一个只读串行事务延迟执行,使其不会执行失败。该参数设置为on时,当一个只读事务发现读取的元组正在被其他事务修改,则延迟该只读事务直到其他事务修改完成。该参数为预留参数,该版本不生效。与该参数类似的还有一个default_transaction_deferrable,设置它来指定一个事务是否允许延迟。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示允许执行。 off表示不允许执行。 默认值:off
  • enable_defer_calculate_snapshot 参数说明:延迟计算快照的xmin和oldestxmin,执行1000个事务或者间隔1s才触发计算,设置为on时可以在高负载场景下减少计算快照的开销,但是会导致oldestxmin推进较慢,影响垃圾元组回收,设置为off时xmin和oldestxmin可以实时推进,但是会增加计算快照时的开销。 该参数属于SIGHUP类型参数,改请参考表2进行设置 取值范围:布尔型。 on表示延迟计算快照xmin和oldestxmin。 off表示实时计算快照xmin和oldestxmin。 默认值:on。
  • pgxc_node_name 参数说明:指定节点名称。 该参数属于POSTMASTER类型参数,请参考表2进行设置。 在备机请求主机进行日志复制时,如果application_name参数没有被设置,那么pgxc_node_name参数会被用来作为备机在主机上的流复制槽名字。该流复制槽的命名方式为 "该参数值_备机ip_备机port"。其中,备机ip和备机port取自replconninfo参数中指定的备机ip和端口号。该流复制槽最大长度为61个字符,如果拼接后的字符串超过该长度,则会使用截断后的pgxc_node_name进行拼接,以保证流复制槽名字长度小于等于61个字符。 此参数修改后会导致连接数据库实例失败,不建议进行修改。 取值范围:字符串 默认值:当前节点名称
  • transaction_isolation 参数说明:设置当前事务的隔离级别。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串,只识别以下字符串,大小写空格敏感: serializable:GaussDB中等价于REPEATABLE READ。 read committed:只能读取已提交的事务的数据(缺省),不能读取到未提交的数据。 repeatable read:仅能读取事务开始之前提交的数据,不能读取未提交的数据以及在事务执行期间由其它并发事务提交的修改。 default:设置为default_transaction_isolation所设隔离级别。 默认值:read committed
  • max_query_retry_times 当前特性是实验室特性,使用时请联系华为工程师提供技术支持。 参数说明:指定SQL语句出错自动重试功能的最大重跑次数(目前支持重跑的错误类型为“Connection reset by peer”、“Lock wait timeout”和“Connection timed out”等),设定为0时关闭重跑功能。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:整型,0~20。 默认值:0
  • remote_read_mode 参数说明:远程读功能开关。读取主机上的页面失败时可以从备机上读取对应的页面。 该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 取值范围:枚举类型 off表示关闭远程读功能。 non_authentication表示开启远程读功能,但不进行证书认证。 authentication表示开启远程读功能,但要进行证书认证。 默认值:authentication
  • omit_encoding_error 参数说明:设置为on,数据库的客户端字符集编码为UTF-8时,出现的字符编码转换错误将打印在日志中,有转换错误的被转换字符会被忽略,以"?"代替。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示有转换错误的字符将被忽略,以"?"代替,打印错误信息到日志中。 off表示有转换错误的字符不能被转换,打印错误信息到终端。 默认值:off
  • data_sync_retry 参数说明:控制当fsync到磁盘失败后是否继续运行数据库。由于在某些操作系统的场景下,fsync失败后重试阶段即使再次fsync失败也不会报错,从而导致数据丢失。 该参数属于POSTMASTER类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示当fsync同步到磁盘失败后采取重试机制,数据库继续运行。 off表示当fsync同步到磁盘失败后直接报panic,停止数据库。 默认值:off
  • retry_ecode_list 参数说明:指定SQL语句出错自动重试功能支持的错误类型列表。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:字符串。 默认值:YY001 YY002 YY003 YY004 YY005 YY006 YY007 YY008 YY009 YY010 YY011 YY012 YY013 YY014 YY015 53200 08006 08000 57P01 XX003 XX009 YY016
  • restart_after_crash 参数说明:设置为on,后端进程崩溃时,GaussDB将自动重新初始化此后端进程。 该参数属于SIGHUP类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示能够最大限度地提高数据库的可用性。 在某些情况(比如当采用管理工具(例如xCAT)管理GaussDB时),能够最大限度地提高数据库的可用性。 off表示能够使得管理工具在后端进程崩溃时获取控制权并采取适当的措施进行处理。 默认值:on
  • plpgsql.variable_conflict 参数说明:设置同名的存储过程变量和表的列的使用优先级。 该参数属于USERSET类型参数,仅支持表2中对应设置方法3进行设置。 取值范围:字符串 error表示遇到存储过程变量和表的列名同名则编译报错。 use_variable表示存储过程变量和表的列名同名则优先使用变量。 use_column表示存储过程变量和表的列名同名则优先使用列名。 默认值:error
  • td_compatible_truncation 参数说明:控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。 超长字符串自动截断功能不适用于insert语句包含外表的场景。 如果向字符集为字节类型编码(SQL_ASCII、LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示启动超长字符串自动截断功能。 off表示停止超长字符串自动截断功能。 默认值:off
  • plsql_compile_check_options 参数说明:数据库兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:"" 当前只支持表1。 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set plsql_compile_check_options='for_loop,outparam';
  • a_format_dev_version 参数说明:数据库平台迭代小版本兼容性行为配置项,该参数的值为字符串枚举值。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:"" 当前只支持表1。 兼容性配置项时设置字符串,例如:set a_format_dev_version='s1'; 表4 兼容性配置项 兼容性配置项 兼容性行为控制 s1 A平台兼容迭代小版本,影响函数( TRUNC(date, fmt),ROUND(date, fmt),NVL2,LPAD,RPAD,ADD_MONTHS,MONTHS_BETWEEN,REGEXP_REPLACE ,REGEXP_COUNT,TREAT,EMPTY_CLOB,INSTRB ) 开启参数后cast支持 text转int四舍五入
  • transform_null_equals 参数说明:控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。如果expr得出NULL值则返回真,否则返回假。 正确的SQL标准兼容的expr = NULL总是返回NULL(未知)。 Microsoft Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项,可以使用该接口来访问数据库。 该参数属于USERSET类型参数,请参考表2中对应设置方法进行设置。 取值范围:布尔型 on表示控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。 off表示不控制,即expr = NULL总是返回NULL(未知)。 默认值:off 新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。
  • sql_compatibility 参数说明:控制数据库的SQL语法和语句行为同哪一个主流数据库兼容。该参数属于INTERNAL类型参数,用户无法修改,只能查看。 取值范围:枚举型 A表示同O数据库兼容。 B表示同MY数据库兼容。 C表示同TD数据库兼容。 PG表示同POSTGRES数据库兼容。 默认值:A 该参数只能在执行CREATE DATABASE命令创建数据库的时候设置。 在数据库中,该参数只能是确定的一个值,要么始终设置为A,要么始终设置为B,请勿任意改动,否则会导致数据库行为不一致。
  • behavior_compat_options 参数说明:数据库兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:"" 当前只支持表1。 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set behavior_compat_options='end_month_calculate,display_leading_zero'; 表1 兼容性配置项 兼容性配置项 兼容性行为控制 display_leading_zero 浮点数显示配置项。 不设置此配置项时,对于-1~0和0~1之间的小数,不显示小数点前的0。比如,0.25显示为.25。 设置此配置项时,对于-1~0和0~1之间的小数,显示小数点前的0。比如,0.25显示为0.25。 end_month_calculate add_months函数计算逻辑配置项。 假定函数add_months的两个参数分别为param1和param2,param1的月份和param2的和为月份result。 不设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期小,计算结果中的日期字段(Day字段)和param1的日期字段保持一致。比如, 1 2 3 4 5 openGauss=# select add_months('2018-02-28',3) from sys_dummy; add_months --------------------- 2018-05-28 00:00:00 (1 row) 设置此配置项时,如果param1的日期(Day字段)为月末,并且param1的日期(Day字段)比result月份的月末日期比小,计算结果中的日期字段(Day字段)和result的月末日期保持一致。比如, 1 2 3 4 5 openGauss=# select add_months('2018-02-28',3) from sys_dummy; add_months --------------------- 2018-05-31 00:00:00 (1 row) compat_analyze_sample analyze采样行为配置项。 设置此配置项时,会优化analyze的采样行为,主要体现在analyze时全局采样会更精确的控制在3万条左右,更好地控制analyze时DBnode端的内存消耗,保证analyze性能的稳定性。 bind_schema_tablespace 绑定模式与同名表空间配置项。 如果存在与模式名sche_name相同的表空间名,那么如果设置search_path为sche_name, default_tablespace也会同步切换到sche_name。 bind_procedure_searchpath 未指定模式名的数据库对象的搜索路径配置项。 在存储过程中如果不显示指定模式名,会优先在存储过程所属的模式下搜索。 如果找不到,则有两种情况: 若不设置此参数,报错退出。 若设置此参数,按照search_path中指定的顺序继续搜索。如果还是找不到,报错退出。 correct_to_number 控制to_number()结果兼容性的配置项。 若设置此配置项,则to_number()函数结果与pg11保持一致,否则默认与O db保持一致。 unbind_divide_bound 控制对整数除法的结果进行范围校验。 若设置此配置项,则不需要对除法结果做范围校验,例如,INT_MIN/(-1)可以得到输出结果为INT_MAX+1,反之,则会因为超过结果大于INT_MAX而报越界错误。 convert_string_digit_to_numeric 控制是否将表中字符串类型字段和数字类型做比较时统一都转换为numeric类型再进行比较。 return_null_string 控制函数lpad()和rpad()结果为空字符串''的显示配置项。 不设置此配置项时,空字符串显示为NULL。 1 2 3 4 5 openGauss=# select length(lpad('123',0,'*')) from sys_dummy; length -------- (1 row) 设置此配置项时,空字符串显示为''。 1 2 3 4 5 openGauss=# select length(lpad('123',0,'*')) from sys_dummy; length -------- 0 (1 row) compat_concat_variadic 控制函数concat()和concat_ws()对variadic类型结果兼容性的配置项。 若设置此配置项,当concat函数参数为variadic类型时,保留a db和Teradata兼容模式下不同的结果形式;否则默认a db和Teradata兼容模式下结果相同,且与a db保持一致。由于MY无variadic类型,所以该选项对MY无影响。 merge_update_multi 控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE(参考MERGE INTO) 和INSERT ... ON DUPLICATE KEY UPDATE(参考INSERT)时,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。 若设置此配置项,当存在上述场景时,该冲突行将会多次执行UPDATE;否则(默认)报错,即MERGE或INSERT操作失败。 plstmt_implicit_savepoint 控制存储过程中更新语句的执行是否拥有独立的子事务。 若设置此配置项,存储过程中每条更新语句前开启隐式保存点,EXCEPTION块中默认回退到最近的保存点,从而保证只回退失败语句的修改。该选项是为了兼容O数据库的EXCEPTION行为。 hide_tailing_zero numeric显示配置项。不设置此项时,numeric按照指定精度显示。设置此项时,所有输出numeric的场景均隐藏小数点后的末尾0,包括显示指定format精度情况。 set behavior_compat_options='hide_tailing_zero'; select cast(123.123 as numeric(15,10)); numeric --------- 123.123 (1 row) rownum_type_compat 控制ROWNUM的类型,ROWNUM默认类型为BIGINT,设置此参数后,ROWNUM类型变更为NUMERIC类型。 aformat_null_test 控制rowtype类型判空逻辑。 设置此项时,对于rowtype is not null的判断逻辑为当一行数据有一列不为空的时候返回true;不设置此项时,对于rowtype is not null的判断逻辑为当一行数据所有列不为空的时候返回true。该参数不影响rowtype is null的判断。 aformat_regexp_match 控制正则表达式函数的匹配行为。 设置此项,且sql_compatibility参数的值为A或B时,正则表达式的 flags 参数支持的选项含义有变更: . 默认不能匹配 '\n' 字符。 flags 中包含n选项时, . 能够匹配 '\n' 字符。 regexp_replace(source, pattern replacement) 函数替换所有匹配的子串。 regexp_replace(source, pattern, replacement, flags) 在 flags值为'' 或者null时,返回值为null。 否则,正则表达式的 flags 参数支持的选项含义: . 默认能匹配 '\n' 字符。 flags 中的 n 选项表示按照多行模式匹配。 regexp_replace(source, pattern replacement) 函数仅替换第一个匹配到的子串。 regexp_replace(source, pattern, replacement, flags) 在 flags值为'' 或者null时,返回值为替换后的字符串。 compat_cursor 控制隐式游标状态兼容行为。设置此项,且兼容O,隐式游标状态(SQL%FOUND、SQL%NOTFOUND、SQL%ISOPNE、SQL%ROWCOUNT)由原先的仅在当前执行的函数有效,拓展到包括本函数调用的子函数有效。 proc_outparam_override 控制存储过程出参的重载行为,打开该参数后,对于存储过程只有out出参部分不同的情况下,也可以正常创建和调用。目前只有gsql与jdbc连接数据库时可以使用该参数,对于其他工具打开该参数连接数据库时无法正常调用带有out的存储过程。 proc_implicit_for_loop_variable 控制存储过程中FOR_LOOP查询语句行为设置此项时,在FOR rec IN query LOOP语句中,若rec已经定义,不会复用已经定义的rec变量,而且重新建立一个新的变量。否则,会复用已经定义的rec变量,不会建立新的变量。 allow_procedure_compile_check 控制存储过程中select语句和open cursor语句的编译检查设置此项时,在存储过程中执行select语句、open cursor for语句、cursor%rowtype语句、for rec in语句时,若查询的表不存在,则无法创建存储过程,不支持trigger函数的编译检查,若查询的表存在,则成功创建存储过程。 注意:创建密态函数时,需要将allow_procedure_compile_check关闭。 char_coerce_compat 控制char(n)类型向其它变长字符串类型转换时的行为。默认情况下char(n)类型转换其它变长字符串类型时会省略尾部的空格,开启该参数后,转换时不再省略尾部的空格,并且在转换时如果char(n)类型的长度超过其它变长字符串类型时将会报错。该参数仅在sql_compatibility参数的值为A时生效,并且开启该参数后无论是隐式转换、显式转换还是通过调用text(bpchar)函数转换类型都不再省略尾部空格。 truncate_numeric_tail_zero numeric显示配置项。不设置此项时,numeric按照默认精度显示。设置此项时,除去to_char(numeric, format)这种显示设置精度的情况,所有输出numeric的场景均会隐藏小数点后的末尾0。 plsql_security_definer 开启此参数后,创建存储过程时默认为定义者权限。 array_count_compat 控制array.count函数,开启参数是返回0,否则返回null。 disable_emptystr2null 关闭text、clob、blob、raw字符串类型默认将空串转换为null功能。
  • standard_conforming_strings 参数说明:控制普通字符串文本('...')中是否按照SQL标准把反斜扛当普通文本。 应用程序通过检查这个参数可以判断字符串文本的处理方式。 建议明确使用转义字符串语法(E'...')来转义字符。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示打开控制功能。 off表示关闭控制功能。 默认值:on
  • synchronize_seqscans 参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:布尔型 on表示扫描可能从表的中间开始,然后选择"环绕"方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。 off表示确保顺序扫描是从表头开始的。 默认值: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
  • backslash_quote 参数说明:控制字符串文本中的单引号是否能够用\'表示。 该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。 取值范围:枚举类型 on表示一直允许使用\'表示。 off表示拒绝使用\'表示。 safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。 默认值:safe_encoding
共100000条