云服务器内容精选

  • GaussDB (Oracle兼容模式)下GUC参数设置 当使用Oracle兼容模式,可以设置GUC参数提高GaussDB的兼容性,迁移涉及的GUC参数和影响范围可参见表1。 GaussDB数据库 提供了许多运行参数,配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数对数据库的影响,否则可能会导致无法预料的结果。可参考云数据库GaussDB GUC参数使用说明。 表1 GaussDB(Oracle兼容模式)的GUC参数 兼容Oracle行为配置项 兼容性配置项 兼容性配置项名字 支持的数据库 是否建议打开 参数详情参考 behavior_compat_options display_leading_zero 浮点数显示配置项-小数点前0显示 集中式版/分布式版 是 集中式版:参数详情 分布式版:参数详情 end_month_calculate add_months函数计算逻辑配置项 集中式版/分布式版 是 bind_procedure_searchpath 未指定模式名的存储过程中的数据库对象的搜索路径配置项。 集中式版/分布式版 是 correct_to_number 控制to_number()结果兼容性的配置项 集中式版/分布式版 是 unbind_divide_bound 控制对整数除法的结果进行范围校验 集中式版/分布式版 是 convert_string_digit_to_numeric 字符串转换为numeric配置项 集中式版/分布式版 是 return_null_string 控制函数lpad()和rpad()结果为空字符串''的显示配置项。 集中式版/分布式版 是 merge_update_multi 控制在使用MERGE INTO ... WHEN MATCHED THEN UPDATE和INSERT ... ON DUPLICATE KEY UPDATE,当目标表中一条目标数据与多条源数据冲突时UPDATE行为。 集中式版/分布式版 是 plstmt_implicit_savepoint 控制存储过程中更新语句的执行是否拥有独立的子事务。 集中式版/分布式版 是 hide_tailing_zero numeric显示配置项。 集中式版/分布式版 是 rownum_type_compat 控制ROWNUM的类型。 集中式版 是 aformat_null_test 控制rowtype类型判空逻辑。 集中式版/分布式版 是 aformat_regexp_match 控制正则表达式函数的匹配行为。 集中式版/分布式版 是 compat_cursor 控制隐式游标状态兼容行为。 集中式版 是 proc_outparam_override 控制存储过程出参的重载行为。 集中式版/分布式版 是 proc_implicit_for_loop_variable 控制存储过程中FOR_LOOP查询语句行为。 集中式版 是 allow_procedure_compile_check 控制制存储过程中select语句和open cursor语句的编译检查。 集中式版 是 plsql_security_definer 创建存储过程时默认为定义者权限。 集中式版/分布式版 是 plpgsql_dependency 创建函数,存储过程,包支持未定义的对象,可以新建成功。 集中式版 是 plsql_compile_check_options plsql_expression_check 开启plsql_expression_check参数,需要同时开启plpgsql_dependency参数。 503.1集中式版 是 a_format_version 10c 数据库平台兼容性行为配置项 集中式版/分布式版 是 a_format_dev_version s1 数据库平台迭代小版本兼容性行为配置项。 503.0 集中式版/分布式版 是 s2 数据库平台迭代小版本兼容性行为配置项。 503.1 集中式版/分布式版 是 s3 数据库平台迭代小版本兼容性行为配置项。 503.2 集中式版/分布式版 是 s4 数据库平台迭代小版本兼容性行为配置项 505.0 集中式版/分布式版 是 s5 数据库平台迭代小版本兼容性行为配置项。 505.1 集中式版/分布式版 是 s6 数据库平台迭代小版本兼容性行为配置项。 505.2 集中式版/分布式版 是 sql_beta_feature a_style_coerce 影响decode函数 集中式版/分布式版 是 a_format_dev_version参数设置: GaussDB V2.0-3.1 企业版,设置为 s1。 GaussDB V2.0-3.2 企业版,设置为 s2。 GaussDB V2.0-3.3 企业版,设置为 s3。 GaussDB V2.0-8.0 企业版,设置为 s4。 GaussDB V2.0-8.1 企业版,设置为 s5。 GaussDB V2.0-8.2 企业版,设置为 s6。 版本号对应参考自建GaussDB内核版本号与UGO界面显示GaussDB版本号对应关系。 父主题: GaussDB数据库设置GUC参数对迁移的影响
  • GaussDB(MySQL兼容模式)数据库GUC参数 当使用MySQL兼容模式,可以设置GUC参数提高GaussDB的兼容性,迁移涉及的GUC参数和影响范围可参见表1 GaussDB(MySQL兼容模式)的GUC参数。 GaussDB数据库提供了许多运行参数,配置这些参数可以影响数据库系统的行为。在修改这些参数时请确保用户理解了这些参数对数据库的影响,否则可能会导致无法预料的结果。 表1 GaussDB(MySQL兼容模式)的GUC参数 兼容MySQL行为配置项 兼容性配置项 兼容性配置项名字 支持的数据库 是否建议打开 b_format_behavior_compat_options enable_set_variables 仅限主备版会话变量生效。 主备版 是 b_format_version 5.7 数据库平台兼容性行为配置项。 505.0主备版/分布式 是 b_format_dev_version S1 数据库平台迭代小版本兼容性行为配置项。 505.0主备版/分布式 是 S2 数据库平台迭代小版本兼容性行为配置项。 505.1主备版/分布式 是 S1兼容性配置项所影响的内容: NEW()函数、last_day()函数、date_sub(date, INTERVAL expr unit)、datediff(expr1, expr2)、day()/dayofmonth()、dayname() dayofweek()、dayofyear()、extract(unit FROM date)、from_days(days)、from_unixtime(unix_timestamp[,format])、get_format({DATE | TIME | DATETIME | TIMESTAMP}, {'EUR' | 'USA' | 'JIS' | 'ISO' | 'INTERNAL'})、 hour()、makedate(year,dayofyear)、microsecond()、minute()、month()、monthname()、 period_add(period, month_number) TIMESTAMPDIFF、yearweek(date[, mode])、year()、weekofyear(date)、 weekday()、week(date[, mode])、utc_timestamp()、utc_time()、period_diff(p1,p2)、second(). quarter()、str_to_date(str, format)、subdate(expr, days)、time_format(time, format)、ifnull(expr1, expr2)、database()、current_date、current_time、current_timestamp round(arg1, arg2)、localtime([precision])、localtimestamp、dbtimezone、timenow()、numtodsinterval(num, interval_unit)、numtoyminterval(num, interval_unit) new_time(date, timezone1,timezone2)、sysdate([precision])、add_months(d,n)、months_between(d1, d2)、convert_tz(dt, from_tz, to_tz) adddate(date, INTERVAL expr unit)、date_format(date, format) S2兼容性配置项所影响的内容: 包含s1控制的兼容性行为。 影响如下功能: AUTO_INCREMENT自动增长列在导入数据或者进行BATCH INSERT执行计划的插入操作时,对于混合0、NULL和确定值的场景,确定值插入时会立即更新自增计数,后续的0/NULL将在确定值的基础上自增。 like操作符对于匹配串末尾是转义符的场景不再报错。 字符集、字符序的排序规则优先级将发生变更。 影响如下语法: CREATE TABLE table_name LIKE source_table语法。 CREATE TABLE table_name LIKE source_table和“CREATE TABLE table_name (LIKE source_table)”语法不支持指定INCLUDING和EXCLUDING选项,缺省等同于指定INCLUDING ALL。 支持LOAD DATA语法,gs_loader中部分与LOAD DATA语法一致的语法功能会发生变化。 支持set names指定collate子句。 涉及ALTER TABLE,RENAME TABLE等更改表名的语法,影响场景如:新表名对应字符串开头为“#MySQL50#”,且其后有其他字符,“#MySQL50#”将被忽略。 父主题: GaussDB数据库设置GUC参数对迁移的影响
  • 操作步骤 以8.0主备版为例 连接上GaussDB数据库,切换至GaussDB的安装用户下。 su - omm "omm"为示例用户,切换时以实际安装用户为准。 执行以下命令,设置参数 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "behavior_compat_options='bind_procedure_searchpath,truncate_numeric_tail_zero,plsql_security_definer,proc_outparam_override,aformat_null_test,rownum_type_compat,allow_procedure_compile_check,proc_implicit_for_loop_variable,plstmt_implicit_savepoint,end_month_calculate,disable_rewrite_nesttable,plpgsql_dependency,display_leading_zero,correct_to_number,unbind_divide_bound,convert_string_digit_to_numeric,hide_tailing_zero,return_null_string,aformat_regexp_match,compat_cursor,enable_funcname_with_argsname,tableof_elem_constraints,merge_update_multi'"; gs_guc reload -Z coordinator -Z datanode -N all -I all -c "plsql_compile_check_options='plsql_expression_check'"; GaussDB 3.1企业版以及以后版本生效。 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "a_format_version='10c'"; gs_guc reload -Z coordinator -Z datanode -N all -I all -c "a_format_dev_version='s4'"; GaussDB 3.1企业版使用s1,GaussDB 3.2企业版使用s2,GaussDB 3.1企业版使用s3,GaussDB 8.0企业版使用s4。版本号对应参考自建GaussDB内核版本号与UGO界面显示GaussDB版本号对应关系。 以8.0分布式为例 连接上GaussDB数据库,切换至GaussDB的安装用户下。 su - omm "omm"为示例用户,切换时以实际安装用户为准。 执行以下命令设置参数。 gs_guc reload -Z coordinator -Z datanode -N all -I all -c "behavior_compat_options='bind_procedure_searchpath,truncate_numeric_tail_zero,plsql_security_definer,proc_outparam_override,aformat_null_test,plstmt_implicit_savepoint,end_month_calculate,disable_rewrite_nesttable,display_leading_zero,correct_to_number,unbind_divide_bound,convert_string_digit_to_numeric,hide_tailing_zero,return_null_string,aformat_regexp_match,enable_funcname_with_argsname,tableof_elem_constraints,merge_update_multi'"; gs_guc reload -Z coordinator -Z datanode -N all -I all -c "a_format_version='10c'"; gs_guc reload -Z coordinator -Z datanode -N all -I all -c "a_format_dev_version='s4'"; 503.0版本使用s1,503.1版本使用s2,503.2版本使用s3,505.0版本使用s4。版本号对应参考自建GaussDB内核版本号与UGO界面显示GaussDB版本号对应关系。