更新时间:2026-07-14 GMT+08:00
如何设置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,return_null_string,aformat_regexp_match,compat_cursor,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'; ALTER DATABASE <database_name> SET "intervalstyle=a"; ALTER DATABASE <database_name> SET "a_format_date_timestamp='on'";
- 登录到 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,return_null_string,aformat_regexp_match,compat_cursor,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='s4'" gs_guc reload -Z coordinator -Z datanode -N all -I all -c "intervalstyle=a"; gs_guc reload -Z coordinator -Z datanode -N all -I all -c "a_format_date_timestamp='on'";
以上示例 SQL 及命令均以 Oracle 为源、GaussDB 集中式版 V2.0 - 8.0 企业版为目标库。其他链路的 GUC 参数,请参考预检查功能中提示的参数名称和参数值,分别替换掉上述命令中等号前后的内容。
GaussDB 分布式版 GUC 参数设置
GaussDB 分布式版的云上实例不支持自行修改GUC参数配置,请通过“参数管理”修改或联系GaussDB运维人员。
非云版本的 GaussDB 分布式版,仅支持通过后台登录后,使用 gs_guc 工具执行以下命令,完成 GUC 参数实例级别设置:
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,return_null_string,aformat_regexp_match,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'"; 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_date_timestamp='on'";
以上示例 SQL 及命令均以 Oracle 为源、GaussDB 集中式版 V2.0 - 8.0 企业版为目标库。其他链路的 GUC 参数,请参考预检查功能中提示的参数名称和参数值,分别替换掉上述命令中等号前后的内容。
GaussDB 云原生版 GUC 参数设置
GaussDB 云原生版的云上实例不支持自行修改GUC参数配置,请联系 GaussDB 运维人员完成设置。
非云版本的 GaussDB 云原生版,通过gsql、管控平台或其他客户端工具,连接到 GaussDB,执行以下SQL,完成 GUC 参数数据库级别设置:
alter user <username> set 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,return_null_string,aformat_regexp_match,tableof_elem_constraints,merge_update_multi,sys_function_without_brackets,array_count_compat,forbid_skip_tableof_empty_str_elem,enable_use_ora_timestamptz,forbid_package_function_with_prefix,show_full_error_lineno,plsql_rollback_keep_user,current_sysdate,select_into_return_null,time_constexpr_compact';
alter user <username> set plsql_compile_check_options='plsql_expression_check';
alter user <username> set sql_beta_feature='a_style_coerce';
alter user <username> set intervalstyle=a;
alter user <username> set a_format_version='10c';
alter user <username> set a_format_dev_version='s6';
gs_tenant -t set_tenant_guc_config --tenant-name="ugo-test" --config-type="GAUSSDB" --configs='{"mapping_date_to_datea":"on"}'--重启数据库使参数生效 父主题: 迁移项目