VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

MySQL兼容性参数

b_compatibility_user_host_auth

参数说明: 控制是否允许创建user@host'user'@'host'之类的用户并兼容MySQL的user@host认证鉴权。对兼容MySQL的user@host进行认证时,需要在配置文件postgresql.conf中设为on。

该参数属于USERSET类型参数,请参考重设参数表1中对应设置方法进行设置。

  • MySQL在创建用户时会将用户名与主机名拼接成新的用户名,即user一致时,不同的host将被记录为多个用户。该参数与MySQL行为一致。

  • 当b_compatibility_user_host_auth与b_compatibility_user_host_ignore同时为on时,生效参数为b_compatibility_user_host_ignore。

取值范围: 布尔型

  • on:开启该参数允许创建user@host'user'@'host'之类的用户并兼容MySQL的user@host认证鉴权。

  • off:关闭该参数不允许创建user@host'user'@'host'之类的用户并且不支持user@host认证鉴权。

默认值: off

b_compatibility_user_host_ignore

参数说明: 控制是否允许创建user@host'user'@'host'之类的用户,该参数不对@host进行认证鉴权,user@host等同于user。

如需对用户IP进行认证鉴权,可在pg_hba.conf中配置。

取值范围: 布尔型

  • on:开启该参数允许创建user@host'user'@'host'之类的用户,并忽略对@host进行认证鉴权,user@host等同于user。

  • off:关闭该参数不允许创建user@host'user'@'host'之类的用户。

默认值: off

b_format_behavior_compat_options

参数说明: 数据库B模式兼容性行为配置项,该参数的值由若干个配置项用逗号隔开构成。

该参数属于USERSET类型参数,请参考重设参数表1中对应设置方法进行设置。

取值范围: 字符串

默认值: 'set_keyword_as_colname, b_format_escape'

  • 该参数仅在数据库兼容模式为MySQL时生效(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
  • 该参数属于会话级别参数,必须在配置文件设置或者session级别设置才会生效。
  • 配置多个兼容性配置项时,相邻配置项用逗号隔开,例如:set b_format_behavior_compat_options='enable_set_variables,set_session_transaction';

当前只支持下表所示的兼容性B模式配置项。

兼容性配置项 兼容性行为控制
enable_set_variables set语法增强控制开关。
  • 不设置此配置时,不支持set自定义变量、set [global | session]语法。
  • 设置此配置时,支持B兼容模式下使用上述语法,比如set @v1 = 1;
  • set_session_transaction set session transaction控制开关。
  • 不设置此配置时,set session transaction等效于set local transaction
  • 设置此配置时,支持B兼容模式下使用上述语法,修改当前会话事务特性。
  • enable_modify_column ALTER TABLE MODIFY语义控制开关。
  • 不设置此配置时,ALTER TABLE table_name MODIFY column_name data_type;只修改列的数据类型。
  • 设置此配置时,ALTER TABLE table_name MODIFY column_name data_type;修改整个列定义。
  • default_collation 默认字符序前向兼容开关。
  • 不设置此配置时,在未显式指定字符类型字段的字符集或字符序且表级字符序也为空时,字段为default字符序。
  • 设置此配置时,字符类型字段的字符序当表级字符序不为空时继承表级字符序,为空时设置为数据库编码对应的默认字符序。
  • fetch FETCH语句结尾报错兼容开关。
  • 不设置此配置时,FETCH抓取完了所有可用行,它就停在最后一行后面,或者在反向抓取的情况下是停在第一行前面。
  • 设置此配置时,FETCH抓取完了所有可用行后报错。
  • enable_multi_charset 多字符集功能的控制开关。
  • 不设置此配置时,不允许不同于数据库字符集的数据,不处理不同于数据库字符集的表达式。
  • 设置此配置时,允许数据库中含有不同于数据库字符集的数据,合并不同字符集的表达式。不同字符集的表达式运算规则详见:字符集与字符序。
  • 说明:目前Vastbase暂不支持字符集的合并功能,不表示多字符集功能的控制开关,目前该参数开启只是为了可以设置collation_connection。
    b_format_escape V2.2 Build 15(Patch No.3)及以上版本支持选项b_format_escape,用来控制逃逸字符在MySQL兼容模式中的表现。
  • 开启该选项时,逃逸字符为反斜线时需要双写,与MySQL表现保持一致。
  • 关闭该选项时,表示使用standard_conforming_strings控制逃逸字符,与历史版本一致,参数设置为on时,逃逸字符为反斜线不用双写;参数设置为off时,在文串常量中写的任何反斜线都需要被双写。
  • b_format_plpgsql_execute 控制EXECUTE语句在PL/pgSQL的行为,设置该选项表示EXECUTE statement中的statement为PREPARE处理过的语句,而不是将statement视作一个sqlstring模板执行动态sql。示例参见PREPARE的示例3
    set_keyword_as_colname 默认情况下 select name '别名'会认为'别名'是name列的别名,当b_format_behavior_compat_options中不包含set_keyword_as_colname时,select name '别名'为类型转换。