如何设置GaussDB GUC参数
GaussDB 集中式版 GUC 参数设置
GaussDB 集中式版提供两种方式设置 GUC 参数:
- 通过gsql、管控平台或其他客户端工具,连接到 GaussDB,执行以下SQL,完成 GUC 参数数据库级别设置:
ALTER DATABASE <database_name> SET 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'; ALTER DATABASE <database_name> SET plsql_compile_check_options = 'plsql_expression_check'; ALTER DATABASE <database_name> SET sql_beta_feature = 'a_style_coerce'; ALTER DATABASE <database_name> SET a_format_version = '10c'; ALTER DATABASE <database_name> SET a_format_dev_version = 's6';
- 登录到 GaussDB 后台,通过 gs_guc 工具,执行以下命令,完成 GUC 参数实例级别设置:
su - 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'" gs_guc reload -Z datanode -N all -I all -c "sql_beta_feature='a_style_coerce'" 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='s6'"
以上示例 SQL 及命令均以 Oracle 为源、GaussDB 集中式版 V2.0 - 8.0 企业版为目标库。其他链路的 GUC 参数,请参考预检查功能中提示的参数名称和参数值,分别替换掉上述命令中等号前后的内容。
GaussDB 分布式版 GUC 参数设置
GaussDB 分布式版的云上实例不支持自行修改GUC参数配置,请联系 GaussDB 运维人员完成设置。
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='s6'"; gs_guc reload -Z datanode -N all -I all -c "sql_beta_feature='a_style_coerce'";
以上示例 SQL 及命令均以 Oracle 为源、GaussDB 集中式版 V2.0 - 8.0 企业版为目标库。其他链路的 GUC 参数,请参考预检查功能中提示的参数名称和参数值,分别替换掉上述命令中等号前后的内容。