云服务器内容精选

  • format_pg_to_timestamp 参数说明:在PG模式下,控制to_timestamp(string [, fmt])函数的行为。开启后,如果有不支持的格式,自动跳过,当前版本不支持FF,FF7,FF8,FF9,RR,RRRR,SYYYY,x,X等格式;支持早于294277-01-01 00:00:00之前的时间日期和负数年份(转化成公元前);FF1-FF6会把超出精确度的毫秒四舍五入;当时间日期中相同项冲突时(例如DDD和DD所指的天数不同时)返回一个格式正确的时间不会报错,具体冲突行为如表13所示。 参数类型:布尔型 参数单位:无 取值范围: on:实现上述功能。 off:取消实现上述功能。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:开启会导致 GaussDB 不支持的fmt失效。 表13 to_timestamp fmt冲突 模式 描述 SSSSS与时间冲突 保留时间(分钟,小时)中的值以及SSSSS中的秒数部分的值。 W,J与时间日期冲突 优先级:J,W,mmdd按顺序进行覆盖。 W:未指定时,默认为星期三。 默认行为:W覆盖mmdd。 SSSSS与SS冲突 保留SS,舍弃SSSSS。 DDD与日期冲突 舍弃DDD。
  • forbid_public_funcname_same_with_sysfunc 参数说明:控制在创建函数及RENAME函数时,是否禁止PUBLIC函数与pg_catalog下的系统函数名称相同。 参数类型:布尔型 参数单位:无 取值范围: on:创建函数及RENAME函数时,禁止PUBLIC函数与pg_catalog下的系统函数名称相同。 off:创建函数及RENAME函数时,允许PUBLIC函数与pg_catalog下的系统函数名称相同。 默认值:on。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若设置为off,允许public函数与pg_catalog下的系统函数名称相同。 直接安装505.2.0版本数据库时,该参数值为on。从505.2.0之前版本升级到当前版本时,该参数值为off。
  • enable_ecpg_cursor_duplicate_operation 参数说明:ECPG控制在ORA兼容下是否支持重复打开/关闭游标,仅在ECPG连接ORA兼容数据库时生效。 参数类型:布尔型 参数单位:无 取值范围: on:ECPG连接ORA兼容数据库时,支持重复打开/关闭游标。 off:ECPG连接ORA兼容数据库时,不支持重复打开/关闭游标。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若设置为off,重复打开/关闭游标时会报错。 直接安装本版本数据库时,该参数值为on。从老版本升级到当前版本时,该参数值为off。
  • synonym_priv_strict_check 参数说明:控制通过同义词搜索对象时,是否检查同义词关联对象的访问权限。 参数类型:布尔型 参数单位:无 取值范围: on:通过同义词检索对象时,检查是否具有同义词关联对象的访问权限。 off:通过同义词检索对象时,不检查是否具有同义词关联对象的访问权限。 默认值:on。 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若设置为off,通过同义词访问对象时,不检查对象的访问权限,可能构成越权风险。 直接安装505.2.0版本数据库时,该参数值为on。从505.2.0之前版本升级到当前版本时,该参数值为off。
  • enable_case_intervaltonumeric 参数说明:控制CASE语句中是否支持INTERVAL转换为NUMERIC,该参数仅在ORA兼容模式下生效。 参数类型:布尔型 参数单位:无 取值范围: on:CASE语句中支持INTERVAL转换为NUMERIC。 off:CASE语句中不支持INTERVAL转换为NUMERIC。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:若设置为on,后续修改为off,可能导致现有CASE语句报错。
  • enable_m_format_hook 参数说明:M-Compatibility模式数据库行为配置项。该参数控制M-Compatibility模式hook是否生效。 参数类型:布尔型 参数单位:无 取值范围: on:表示M-Compatibility模式数据库允许挂载对应解析执行hook。 off:表示M-Compatibility模式数据库不挂载对应解析执行hook。 默认值:on 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:当前参数仅针对当前未完全适配的外部工具使用,不允许用户使用。 设置不当的风险与影响:无
  • gs_format_behavior_compat_options 参数说明:gs_format_behavior_compat_options用于选择GaussDB内部系统函数配置项。 参数类型:字符串 参数单位:无 取值范围:当前只支持表10中的兼容性配置项,当设置多个兼容性配置项时,相邻配置项之间用逗号隔开。 默认值:"sqrt_karatsuba" 表10 gs_format_behavior兼容性配置项 兼容性配置项 兼容性行为控制 sqrt_karatsuba 设置此参数:表示在调用sqrt平方根函数时,使用Karatsuba平方根算法,karatsuba算法性能更高但是在极少数情况下精度可能会和牛顿迭代算法不一致。 不设置此参数:在计算sqrt平方根算法时,会使用默认的牛顿迭代算法进行平方根的计算。 allow_textconcat_null 设置此参数:在PG兼容模式下,字符串和null值拼接会返回对应的字符串的值。 -- 在PG兼容模式下执行 gaussdb=# set gs_format_behavior_compat_options='allow_textconcat_null'; SET gaussdb=# select 'a' || null || 'b'; ?column? ---------- ab (1 row) 不设置此参数:在PG兼容模式下,字符串和null值拼接会返回NULL。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:控制一些兼容性特性是否可用,若要更改,请在理解参数含义后谨慎操作,避免因误操作产生意料之外的风险。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • support_zero_character 参数说明:当数据中包含Unicode编码为\u0000的字符(以下简称0字符)时,数据库是否取消对0字符的校验并且正确处理而不进行截断操作。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启,数据库取消对0字符的校验,能够正确插入和处理0字符,使数据在处理过程中不发生截断。 off:表示关闭,数据库保留对0字符的校验,部分函数在处理0字符时会发生报错或数据截断。 默认值:off 设置方式:该参数属于POSTMASTER类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,仅在数据中存在0字符且需要对0字符进行正确处理时开启该参数。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 该参数仅在数据库兼容性为ORA兼容模式且所有节点都设置为support_zero_character=on时生效。 如果需要向数据库中写入0字符,需确认support_zero_character=on生效,0字符数据才能正常插入并存储。 当support_zero_character=on时,如果数据类型为CHAR(n)、CHARACTER(n)、NCHAR(n)、VARCHAR(n)、CHARACTER VARYING(n)、VARCHAR2(n)、NVARCHAR2(n)、TEXT或CLOB类型,数据库可以正确插入并处理0字符;如果包含0字符的字符串数据可以显式转换为JSON/JSONB、XML、XMLTYPE、数值类型、货币类型、时间类型、几何类型、网络地址类型、位串类型、文本搜索类型、HLL类型、范围类型、对象标识符类型、aclitem类型或向量类型时,会在0字符处发生截断;如果字符串类型显式转换为UUID类型时,会在0字符处发生报错。 数据库仅支持以下写入0字符的方式: 通过JDBC连接数据库时,0字符可以通过文本方式写入数据库。 通过dbe_raw.cast_to_varchar2函数直接将0字符编码写入数据库。 通过copy/gs_loader工具将0字符编码写入数据库。 在开启GUC参数时,不同字符集之间进行转换时,0字符会直接返回,不再发生报错。 gsql客户端版本应与数据库版本匹配,在开启GUC参数时,若gsql端接收的数据中包含0字符,gsql工具会将0字符转换为空格后进行打印输出。若使用旧版本gsql连接数据库,包含0字符的数据仍存在显示被截断的情况。 当开启GUC参数时,0字符在表11所列的函数、高级包函数中的表现为:函数能够正常处理0字符,不会发生在0字符处截断的情况。 部分高级包接口入参为Schema名或object名,理论上不能含有0字符,因此对表12中的函数添加0字符校验,当入参包含0字符时进行报错处理(原表现为0字符后数据被截断)。 当support_zero_character=on时,若处理的数据中不包含0字符,函数性能无明显劣化;若处理的数据中包含0字符,对比相同数量的有效字符时,initcap、upper、lower、nls_upper和nls_lower函数性能劣化程度与数据中0字符个数紧密相关,即0字符个数越多,性能劣化越严重。 当support_zero_character=on时,若逻辑解码工具读取到数据中包含的0字符,则会将0字符转换为空格后进行打印输出(原表现为0字符后数据被截断)。 表11 0字符支持的系统函数和高级包函数列表 序号 函数名/高级包函数名 1 btrim(string text [, characters text]) 2 char_length(string) 或 character_length(string) 3 chr(cvalue int|bigint) 4 chr(integer) 5 coalesce(expr1, expr2, ..., exprn) 6 concat(str1,str2) 7 concat_ws(sep text, str"any" [, str"any" [, ...] ]) 8 convert(string bytea, src_encoding name, dest_encoding name) 9 convert_from(string bytea, src_encoding name) 10 convert_to(string text, dest_encoding name) 11 decode(base_expr, compare1, value1, Compare2,value2, … default) 12 dump(expr[, return_fmt [, start_position [, length ] ] ]) 13 encode(data bytea, format text) 14 format(formatstr text [, str"any" [, ...] ]) 15 greatest(expr1 [, ...]) 16 group_concat([DISTINCT | ALL] expression [,expression ...] [ORDER BY { expression [ [ ASC | DESC | USING operator ] | nlssort_expression_clause ] [ NULLS { FIRST | LAST } ] } [,...]] [SEPARATOR str_val]) 17 initcap(string) 18 instr(string,substring[,position,occurrence]) instr(text,text,int,int) 19 instrb(text,text,int,int) 20 least(expr1 [, ...]) 21 left(str text, n int) 22 length(string) length(string bytea, encoding name ) 23 lengthb(text/bpchar) 24 listagg(expression [, delimiter]) WITHIN GROUP(ORDER BY order-list) 25 lower(string) 26 lpad(string text, length int [, fill text]) 27 ltrim(string [, characters]) 28 nls_lower(string [, nlsparam]) 29 nls_upper(string [, nlsparam]) 30 nullif(expr1, expr2) 31 nvl( expr1 , expr2 ) 32 nvl2( expr1 , expr2,expr3 ) 33 overlay(string placing string FROM int [for int]) 34 position(substring in string) 35 quote_nullable(string text) 36 regexp_count(string text, pattern text [, position int [, flags text]]) 37 regexp_instr(string text, pattern text [, position int [, occurrence int [, return_opt int [, flags text]]]]) 38 regexp_like(text,text,text) regexp_like(source_string, pattern [, match_parameter]) 39 regexp_matches(string text, pattern text [, flags text]) 40 regexp_replace(string, pattern, replacement [,flags ]) 41 regexp_split_to_array(string text, pattern text [, flags text ]) 42 regexp_split_to_table(string text, pattern text [, flags text]) 43 regexp_substr(source_char, pattern) regexp_substr(string text, pattern text [, position int [, occurrence int [, flags text]]]) 44 repeat(string text, number int ) 45 replace(string text, from text, to text) replace(string, substring) 46 reverse(str) 47 right(str text, n int) 48 rpad(string text, length int [, fill text]) 49 rtrim(string [, characters]) 50 similar_escape(pat text, esc text) 51 split_part(string text, delimiter text, field int) 52 string [NOT] LIKE pattern [ESCAPE escape-character] 53 string || string 或 string || non-string 或 non-string || string 54 string_agg(expression, delimiter) 55 strpos(string, substring) 56 substr(string,from) substr(bytea,from,count) substr(string,from,count) 57 substrb(text,int) substrb(text,int,int) 58 substring(string [from int] [for int]) substring(string from pattern for escape) substring(string from pattern) substring_inner(string [from int] [for int]) 59 translate(string text, from text, to text) 60 trim([leading |trailing |both] [characters] from string) 61 unistr(string) 62 upper(string) 63 PKG_UTIL.LOB_GET_LENGTH 64 PKG_UTIL.LOB_READ 65 PKG_UTIL.LOB_WRITE 66 PKG_UTIL.LOB_APPEND 67 PKG_UTIL.LOB_COMPARE 68 PKG_UTIL.LOB_MATCH 69 PKG_UTIL.LOB_READ_HUGE 70 PKG_UTIL.LOB_WRITEAPPEND_HUGE 71 PKG_UTIL.LOB_APPEND_HUGE 72 PKG_UTIL.LOB_COPY_HUGE 73 PKG_UTIL.LOB_CONVERTTOBLOB_HUGE 74 PKG_UTIL.IO_PRINT 75 PKG_UTIL.RAW_CAST_FROM_VARCHAR2 76 PKG_UTIL.FILE_READ 77 PKG_UTIL.FILE_REA DLI NE 78 PKG_UTIL.APP_READ_CLIENT_INFO 79 PKG_UTIL.APP_SET_CLIENT_INFO 80 PKG_UTIL.LOB_CONVERTTOBLOB 81 PKG_UTIL.LOB_CONVERTTOCLOB 82 PKG_UTIL.MATCH_EDIT_DISTANCE_SIMILARITY 83 PKG_UTIL.RAW_CAST_TO_VARCHAR2 84 PKG_UTIL.APP_SET_MODULE 85 PKG_UTIL.APP_READ_MODULE 86 PKG_UTIL.APP_SET_ACTION 87 PKG_UTIL.APP_READ_ACTION 88 DBE_OUTPUT.PRINT_LINE 89 DBE_OUTPUT.PRINT 90 DBE_OUTPUT.GET_LINE 91 DBE_OUTPUT.GET_LINES 92 DBE_OUTPUT.PUT 93 DBE_OUTPUT.PUT_LINE 94 DBE_UTILITY.CANONICALIZE 95 DBE_UTILITY.COMMA_TO_TABLE 96 DBE_UTILITY.NAME_TOKENIZE 97 DBE_UTILITY.TABLE_TO_COMMA 98 DBE_UTILITY.CANONICALIZE_RET 99 DBE_UTILITY.COMMA_TO_TABLE_FUNC 100 DBE_UTILITY.NAME_SEPARATE 101 DBE_UTILITY.NAME_TOKENIZE_FUNC 102 DBE_UTILITY.NAME_TOKENIZE_LOWER 103 DBE_UTILITY.NAME_TOKENIZE_LOWER_FUNC 104 DBE_UTILITY.TABLE_TO_COMMA_FUNC 表12 入参包含0字符进行报错处理的函数 序号 高级包函数名 1 PKG_UTIL.SESSION_SET_CONTEXT 2 PKG_UTIL.UTILITY_COMPILE_SCHEMA 3 PKG_UTIL.GS_COMPILE_SCHEMA 4 DBE_UTILITY.NAME_RESOLVE 5 DBE_UTILITY.COMPILE_SCHEMA 6 DBE_UTILITY.SEARCH_CLASS_WITH_NSPOID_ONAME_TYPE 7 DBE_UTILITY.SEARCH_OBJE CTS 8 DBE_UTILITY.SEARCH_OBJECTS_SYNONYM_FILL_SCHEMA 9 DBE_UTILITY.SEARCH_PROCEDURE_WITH_NSPOID_ONAME 10 DBE_UTILITY.SEARCH_SYNONYM_WITH_NSPOID_ONAME
  • max_allowed_packet 参数说明:M-Compatibility模式数据库行为配置项,用于表示字符串函数返回值上限。若实际结果超过该上限,则会告警,并返回NULL值。 参数类型:整型 参数单位:字节 取值范围:1024 ~ 1073741824(取值只能是1024的倍数,非倍数时将向下舍入到最接近的倍数)。 默认值:4194304 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • div_precision_increment 参数说明:M-Compatibility模式数据库行为配置项。用于设置除法结果的精度提升值,即除法运算结果的小数位数等于被除数的小数位数加上该参数值。 参数类型:整型 参数单位:无 取值范围:0 ~ 30 默认值:4。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • fix_func_selection 参数说明:是否优化函数匹配策略。 catlist顺序问题:若用户自定义函数与系统函数存在冲突,数据库系统在选择函数时,会受该系统函数在数据库系统中的注册顺序影响,从而导致选择函数结果不同。 参数类型:字符串 参数单位:无 取值范围:""、"catlist"。 "":不进行优化,与505.1.0版本之前的版本保持一致。 "catlist":优化catlist顺序问题,始终优先选择系统函数并执行。 默认值: "catlist":新安装的数据库的默认值。 "":505.1.0版本之前的数据库升级后的默认值。 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_convert_illegal_char 参数说明:对输出结果中的非法编码是否不进行校验并以占位符替换显示。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启,非法编码将替换为convert_illegal_char_mode参数指定符号的编码。 off:表示关闭,查询结果中包含的非法编码会校验后报错。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值,仅在数据中存在特殊字符且需要对特殊字符进行强制不报错处理时开启该参数。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。 当数据库字符集为utf8、zhs16gbk、gb18030、gb18030-2022、latin1,enable_convert_illegal_char=on时生效,且当数据库客户端与服务端字符集不相同时,非法编码将以占位符形式显示。 特殊字符范围:本文所指的特殊字符范围仅包括完全异常编码和混合编码,不支持\u0000字符。若字符编码中包含\u0000字符,在使用时通常会在\u0000处截断,无法保证数据的完整性。 若数据库客户端与服务端字符集不相同,在enable_convert_illegal_char=off时,数据库将超出当前字符集编码外的特殊字符(不包含\x0000字符)替换为\x3F(即显示为?)编码写入数据库中;当enable_convert_illegal_char=on时,只能使用函数dbe_raw.cast_to_varchar2()将非法编码原编码插入数据库中,并以占位符形式显示。 当开启GUC参数时,特殊字符在下表所列的函数、高级包函数中的表现为: 在客户端与服务端字符集一致时,特殊字符在查询时不报错,与开启GUC参数前的行为保持一致。 在客户端与服务端字符集不一致时,特殊字符在查询时显示为占位符(默认为?)。 不建议客户使用函数处理包含特殊字符的字符串,下表所列函数处理包含特殊字符的字符串不会产生报错,但不保证结果的正确性。 表9 特殊字符支持的函数及高级包函数 序号 函数名/高级包函数名 1 bit_length(string) 2 btrim(string text [, characters text]) 3 char_length(string) character_length(string) 4 chr(cvalue int|bigint) chr(integer) 5 concat(str1,str2) 6 concat_ws(sep text, str"any" [, str"any" [, ...] ]) 7 decode(string text, format text) 8 dump(expr[, return_fmt [, start_position [, length ] ] ]) 9 encode(data bytea, format text) 10 find_in_set(text, set) 11 format(formatstr text [, str"any" [, ...] ]) 12 left(str text, n int) 13 length(string) 14 lengthb(text/bpchar) 15 ltrim(string [, characters]) 16 md5(string) 17 notlike(x bytea name text, y bytea text) 18 octet_length(string) 19 overlay(string placing string FROM int [for int]) 20 quote_ident(string text) 21 quote_literal(string text) 22 quote_nullable(string text) 23 rawcat(raw,raw) 24 regexp_count(string text, pattern text [, position int [, flags text]]) 25 regexp_instr(string text, pattern text [, position int [, occurrence int [, return_opt int [, flags text]]]]) 26 regexp_like(source_string, pattern [, match_parameter]) regexp_like(text,text,text) 27 regexp_matches(string text, pattern text [, flags text]) 28 regexp_replace(string, pattern, replacement [,flags ]) 29 regexp_split_to_array(string text, pattern text [, flags text ]) 30 regexp_split_to_table(string text, pattern text [, flags text]) 31 regexp_substr(source_char, pattern) regexp_substr(string text, pattern text [, position int [, occurrence int [, flags text]]]) 32 repeat(string text, number int ) 33 repexp_replace(string text, pattern text [, replacement text [, position int [, occurrence int [, flags text]]]]) 34 replace(string text, from text, to text) 35 replace(string, substring) 36 reverse(str) 37 right(str text, n int) 38 rtrim(string [, characters]) 39 sha(string) 40 sha1(string) 41 sha2(string,hash_length) 42 split_part(string text, delimiter text, field int) 43 substring(string [from int] [for int]) substring(string from pattern for escape) substring(string from pattern) 44 substring_inner(string [from int] [for int]) 45 tconvert(key text, value text) 46 to_single_byte(char) 47 translate(string text, from text, to text) 48 trim([leading |trailing |both] [characters] from string) 49 unistr(string) 50 vsize(expr) 51 PKG_UTIL.RAW_CAST_FROM_VARCHAR2 52 PKG_UTIL.LOB_CONVERTTOCLOB 53 PKG_UTIL.LOB_RAWTOTEXT 54 PKG_UTIL.LOB_TEXTTORAW 55 PKG_UTIL.RAW_CAST_TO_VARCHAR2 56 DBE_OUTPUT.PUT 57 DBE_OUTPUT.PUT_LINE
  • uppercase_attribute_name 参数说明:设置列名以大写形式返回给客户端。该参数仅限于ORA兼容模式下使用。 参数类型:布尔型 参数单位:无 取值范围: on:表示列名以大写形式返回给客户端。 off:表示列名不以大写形式返回给客户端。 默认值:off 设置方式:该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。
  • enable_object_special_character 参数说明:控制执行CREATE EXTENSION语句时,若脚本文件中使用"@extschema@",此时control文件中schema参数的值是否可以包含["$'\]中任意特殊字符。 参数类型:布尔型 参数单位:无 取值范围: on:表示开启,可以包含["$'\]中任意特殊字符。 off:表示关闭,不可以包含["$'\]中任意特殊字符。 默认值:off 设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 设置建议:扩展功能为内部使用功能,不建议用户使用。 设置不当的风险与影响:修改该参数取值可能导致集群出现意料之外的结果,请保持默认值。
  • a_format_disable_func 参数说明:禁用指定的系统函数。该参数的值由若干个系统函数OID值用逗号隔开组成。设置该参数的系统函数将不能被调用。当某一系统函数不能满足用户需求并且需要使用相同函数名的自定义函数时,可使用该功能。 参数类型:字符串 参数单位:无 取值范围:字符串,由若干个系统函数OID值用逗号隔开组成。 默认值:"" 设置方式:该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 设置建议:推荐使用默认值。 设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。