ALTER SYSTEM SET

功能描述

ALTER SYSTEM SET命令用于设置POSTMASTER、SIGHUP、BACKEND级别的GUC参数。此命令会将参数写入配置文件,不同级别生效方式有所不同。

注意事项

  • 此命令仅限初始用户和拥有sysadmin权限的用户才可使用。

  • 不同级别GUC参数生效时间如下:

    • POSTMASTER级别的GUC参数需要重启后才生效。
    • BACKEND级别的GUC参数需要会话重新连接后才生效。
    • SIGHUP级别的GUC参数立即生效(需要等待线程重新加载参数,实际略微有延迟)。
  • 通过配置audit_set_parameter参数,可以配置此操作是否被审计。

  • 操作可被备机同步。

  • 同gs_guc一致,并不关注数据库是主或备节点、是否只读。

  • 不可在事务中执行,因为此操作无法被回滚。

  • 部分参数只能由初始用户修改,具体如下:

    1. audit_copy_exec, audit_data_format, audit_database_process, audit_directory, audit_dml_state,
    2. audit_dml_state_select, audit_enabled, audit_file_remain_threshold, audit_file_remain_time,
    3. audit_function_exec, audit_grant_revoke, audit_login_logout, audit_resource_policy,
    4. audit_rotation_interval, audit_rotation_size, audit_set_parameter, audit_space_limit,
    5. audit_system_object, audit_user_locked, audit_user_violation,
    6. asp_log_directory, config_file, data_directory, enable_access_server_directory,
    7. enable_copy_server_files, external_pid_file, hba_file, ident_file, log_directory, perf_directory,
    8. query_log_directory, ssl_ca_file, ssl_cert_file, ssl_crl_file, ssl_key_file, stats_temp_directory,
    9. unix_socket_directory, unix_socket_group, unix_socket_permissions,
    10. krb_caseins_users, krb_server_keyfile, krb_srvname, allow_system_table_mods, enableSeparationOfDuty,
    11. modify_initial_password, password_encryption_type, password_policy

语法格式

  1. ALTER SYSTEM SET parameter TO value;

参数说明

  • parameter

    GUC参数名。

  • value

    GUC参数值。

示例

  1. --设置SIGHUP级别参数audit_enabled
  2. openGauss=# alter system set audit_enabled to off;
  3. ALTER SYSTEM SET
  4. openGauss=# show audit_enabled;
  5. audit_enabled
  6. ---------------
  7. off
  8. (1 row)
  9. --设置POSTMASTER级别参数 enable_thread_pool,将在重启之后生效。
  10. openGauss=# alter system set enable_thread_pool to on;
  11. NOTICE: please restart the database for the POSTMASTER level parameter to take effect.
  12. ALTER SYSTEM SET