版本和平台兼容性
历史版本兼容性
Vastbase介绍数据库的向下兼容性和对外兼容性特性的参数控制。数据库系统的向后兼容性能够为对旧版本的数据库应用提供支持。本节介绍的参数主要控制数据库的向后兼容性。
array_nulls
参数说明: 控制数组输入解析器是否将未用引用的NULL识别为数组的一个NULL元素。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示允许向数组中输入空元素。
off表示向下兼容旧式模式。仍然能够创建包含NULL值的数组。
默认值: on
backslash_quote
参数说明: 控制字符串文本中的单引号是否能够用\'表示。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'…')。
取值范围: 枚举类型
on表示一直允许使用\'表示。
off表示拒绝使用\'表示。
safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。
默认值: safe_encoding
escape_string_warning
参数说明: 警告在普通字符串中直接使用反斜杠转义。
如果需要使用反斜杠作为转义,可以调整为使用转义字符串语法(E'…')来做转义,因为在每个SQL标准中,普通字符串的默认行为现在将反斜杠作为一个普通字符。
这个变量可以帮助定位需要改变的代码。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
默认值: on
lo_compat_privileges
参数说明: 控制是否启动对大对象权限检查的向后兼容模式。
该参数属于SUSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示当读取或修改大对象时禁用权限检查,与PostgreSQL 9.0以前的版本兼容。
默认值: off
quote_all_identifiers
参数说明: 当数据库生成SQL时,此选项强制引用所有的标识符(包括非关键字)。这将影响到EXPLAIN的输出及函数的结果,例如pg_get_viewdef。详细说明请参见vb_dump的–quote-all-identifiers选项。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示打开强制引用。
off表示关闭强制引用。
默认值: off
ql_inheritance
参数说明: 控制继承语义。用来控制继承表的访问策略,off表示各种命令不能访问子表,即默认使用ONLY关键字。这是为了兼容7.1之前版本而设置的。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示可以访问子表。
off表示不访问子表。
默认值: on
standard_conforming_strings
参数说明: 控制普通字符串文本('…')中是否按照SQL标准把反斜扛当普通文本。
应用程序通过检查这个参数可以判断字符串文本的处理方式。
建议明确使用转义字符串语法(E'…')来转义字符。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示打开控制功能。
off表示关闭控制功能。
默认值: on
synchronize_seqscans
参数说明: 控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示扫描可能从表的中间开始,然后选择”环绕”方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。
off表示确保顺序扫描是从表头开始的。
默认值: on
enable_beta_features
参数说明: 控制开启某些非正式发布的特性,仅用于POC验证。这些特性属于延伸特性,建议客户谨慎开启,在某些功能场景下可能存在问题。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示开启这些功能受限的特性,保持前向兼容。但某些场景可能存在功能上的问题。
off表示禁止使用这些特性。
默认值: off
平台和客户端兼容性
很多平台都使用数据库系统,数据库系统的对外兼容性给平台提供了很大的方便。
transform_null_equals
参数说明: 控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。如果expr得出NULL值则返回真,否则返回假。
正确的SQL标准兼容的expr = NULL总是返回NULL(未知)。
Microsoft Access里的过滤表单生成的查询使用expr = NULL来测试空值。打开这个选项,可以使用该接口来访问数据库。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示控制表达式expr = NULL(或NULL = expr)当做expr IS NULL处理。
off表示不控制,即expr = NULL总是返回NULL(未知)。
默认值: off
新用户经常在涉及NULL的表达式上语义混淆,故默认值设为off。
support_extended_features
参数说明: 控制是否支持数据库的扩展特性。
该参数属于POSTMASTER类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。
取值范围: 布尔型
on表示支持数据库的扩展特性。
off表示不支持数据库的扩展特性。
默认值: off
td_compatible_truncation
参数说明: 控制是否开启与Teradata数据库相应兼容的特征。该参数在用户连接上与TD兼容的数据库时,可以将参数设置成为on(即超长字符串自动截断功能启用),该功能启用后,在后续的insert语句中,对目标表中char和varchar类型的列插入超长字符串时,会按照目标表中相应列定义的最大长度对超长字符串进行自动截断。保证数据都能插入目标表中,而不是报错。
- 超长字符串自动截断功能不适用于insert语句包含外表的场景。
- 如果向字符集为字节类型编码(SQL_ASCII,LATIN1等)的数据库中插入多字节字符数据(如汉字等),且字符数据跨越截断位置,这种情况下,按照字节长度自动截断,自动截断后会在尾部产生非预期结果。如果用户有对于截断结果正确性的要求,建议用户采用UTF8等能够按照字符截断的输入字符集作为数据库的编码集。
该参数属于USERSET类型参数,请参考配置运行参数/重设参数章节中对应设置方法进行设置。 取值范围: 布尔型
on表示启动超长字符串自动截断功能。
off表示停止超长字符串自动截断功能。
默认值: off
oracle_vpd_enabled
参数说明: 该参数用于控制oracle_vpd功能。
该参数仅在数据库兼容模式为Oracle时能够使用(即创建DB时DBCOMPATIBILITY='A'),在其他数据库兼容模式下不能使用该参数。
该参数支持的版本情况如下:
- Vastbase G100 V2.2 Build 5(Patch No.174)及后续补丁版本
- Vastbase G100 V2.2 Build 10
- Vastbase G100 V2.2 Build 13
该参数属于POSTMASTER类型参数,请参考[重设参数表1]()中对应设置方法进行设置。
取值范围: 布尔型
on:表示打开oracle_vpd功能。
off:表示关闭oracle_vpd功能。
默认值: off