历史版本兼容性
GaussDB介绍数据库的向下兼容性和对外兼容性特性的参数控制。数据库系统的向后兼容性能够为旧版本的数据库应用提供支持。本节介绍的参数主要控制数据库的向后兼容性。
array_nulls
参数说明:控制数组输入解析器是否将未用引用的NULL识别为数组的一个NULL元素。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示允许向数组中输入空元素。
- off表示向下兼容旧式模式。仍然能够创建包含NULL值的数组。
默认值:on
backslash_quote
参数说明:控制字符串文本中的单引号是否能够用\'表示。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
在字符串文本符合SQL标准的情况下,\没有任何其他含义。这个参数影响的是如何处理不符合标准的字符串文本,包括明确的字符串转义语法是(E'...')。
取值范围:枚举类型
- on表示一直允许使用\'表示。
- off表示拒绝使用\'表示。
- safe_encoding表示仅在客户端字符集编码不会在多字节字符末尾包含\的ASCII值时允许。
默认值:safe_encoding
escape_string_warning
参数说明:警告在普通字符串中直接使用反斜杠转义。
- 如果需要使用反斜杠作为转义,可以调整为使用转义字符串语法(E'...')来做转义,因为在每个SQL标准中,普通字符串的默认行为现在将反斜杠作为一个普通字符。
- 这个变量可以帮助定位需要改变的代码。
- 使用E转义会导致部分场景下日志记录不全。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
默认值:on
lo_compat_privileges
参数说明:控制是否启动对大对象权限检查的向后兼容模式。
该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
on表示当读取或修改大对象时禁用权限检查,与PostgreSQL 9.0以前的版本兼容。
默认值:off
quote_all_identifiers
参数说明:当数据库生成SQL时,此选项强制引用所有的标识符(包括非关键字)。这将影响到EXPLAIN的输出及函数的结果,例如pg_get_viewdef。详细说明请参见gs_dump的--quote-all-identifiers选项。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示打开强制引用。
- off表示关闭强制引用。
默认值:off
sql_inheritance
参数说明:控制继承语义。用来控制继承表的访问策略,off表示各种命令不能访问子表,即默认使用ONLY关键字。这是为了兼容旧版本而设置的。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示可以访问子表。
- off表示不访问子表。
默认值:on
standard_conforming_strings
参数说明:控制普通字符串文本('...')中是否按照SQL标准把反斜扛当普通文本。
- 应用程序通过检查这个参数可以判断字符串文本的处理方式。
- 建议明确使用转义字符串语法(E'...')来转义字符。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示打开控制功能。
- off表示关闭控制功能。
默认值:on
synchronize_seqscans
参数说明:控制启动同步的顺序扫描。在大约相同的时间内并行扫描读取相同的数据块,共享I/O负载。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示扫描可能从表的中间开始,然后选择"环绕"方式来覆盖所有的行,为了与已经在进行中的扫描活动同步。这可能会造成没有用ORDER BY子句的查询得到行排序造成不可预测的后果。
- off表示确保顺序扫描是从表头开始的。
默认值:on
enable_beta_features
参数说明:控制开启某些非正式发布的特性,仅用于POC验证。这些特性属于延伸特性,建议客户谨慎开启,在某些功能场景下可能存在问题。
该参数属于USERSET类型参数,请参考表1中对应设置方法进行设置。
取值范围:布尔型
- on表示开启这些功能受限的特性,保持前向兼容。但某些场景可能存在功能上的问题。
- off表示禁止使用这些特性。
默认值:off
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