更新时间:2026-10-21 GMT+08:00
分享

操作审计

audit_system_object

参数说明:该参数表示是否对数据库对象的CREATE、DROP、ALTER等操作进行审计。数据库对象包括DATABASE、USER、SCHEMA、TABLE等。通过修改该配置参数的值,可以只审计需要的数据库对象的操作。

参数类型:整型

参数单位:无

取值范围:0 ~ 1073741823
  • 0:表示关闭数据库对象的CREATE、DROP、ALTER等操作审计功能。
  • 非0:表示只审计某类或者某些数据库对象的CREATE、DROP、ALTER等操作。

取值说明:

该参数的值由30个二进制位的组合求出,这30个二进制位分别代表30类数据库对象。如果对应的二进制位取值为0,表示不审计对应的数据库对象的CREATE、DROP、ALTER等操作;取值为1,表示审计对应的数据库对象的CREATE、DROP、ALTER等操作。这30个二进制位代表的具体审计内容请参见表1。

用于记录SQL PATCH的参数存在特殊性,如果对该对象进行审计且audit_dml_state_select也开启时,对于一条SQL PATCH操作的审计日志会作为DML和DDL被记录两次,如果调用remote接口,则会在入参对应的节点上产生DDL日志,而不是在下发语句的节点上。

默认值:67121159(十进制),对应二进制为:00 0100 0000 0000 0011 0000 0000 0111,表示对DATABASE、SCHEMA、USER、NODE GROUP、SQLPatch这五种数据库对象的DDL操作进行审计。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:根据业务需要设置记录审计的数据库对象类型。在主备强制选主场景建议audit_system_object取最大值,审计表1中的所有对象。

设置不当的风险与影响:需要审计的对象类型越多,对系统性能的影响越大,占用的系统CPU和I/O越多。

表1 audit_system_object取值含义说明

二进制位

含义

取值说明

第0位

是否审计DATABASE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第1位

是否审计SCHEMA对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第2位

是否审计USER和USER MAPPING对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第3位

是否审计TABLE对象的CREATE、DROP、ALTER、TRUNCATE、VACUUM、ANALYZE操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER、TRUNCATE、VACUUM、ANALYZE操作。
  • 1表示审计该对象的CREATE、DROP、ALTER、TRUNCATE、VACUUM、ANALYZE操作。

第4位

是否审计INDEX对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第5位

  • 是否审计VIEW对象的CREATE、DROP、ALTER操作。
  • 是否审计MATVIEW对象的CREATE、DROP操作。
  • 0表示不审计VIEW对象的CREATE、DROP、ALTER操作和MATVIEW对象的CREATE、DROP操作。
  • 1表示审计VIEW对象的CREATE、DROP、ALTER操作和MATVIEW对象的CREATE、DROP操作。

第6位

是否审计TRIGGER对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第7位

是否审计PROCEDURE/FUNCTION对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第8位

是否审计TABLESPACE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第9位

是否审计RESOURCE POOL对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第10位

是否审计WORKLOAD对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第11位

是否审计SERVER对象的CREATE、DROP、ALTER操作

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第12位

保留

-

第13位

是否审计NODE GROUP对象的CREATE、DROP操作。

  • 0表示不审计该对象的CREATE、DROP操作。
  • 1表示审计该对象的CREATE、DROP操作。

第14位

是否审计ROW LEVEL SECURITY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计该对象的CREATE、DROP、ALTER操作。
  • 1表示审计该对象的CREATE、DROP、ALTER操作。

第15位

是否审计TYPE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计TYPE对象的CREATE、DROP、ALTER操作。
  • 1表示审计TYPE对象的CREATE、DROP、ALTER操作。

第16位

是否审计TEXT SEARCH对象(CONFIGURATION和DICTIONARY)的CREATE、DROP、ALTER操作。

  • 0表示不审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。
  • 1表示审计TEXT SEARCH对象的CREATE、DROP、ALTER操作。

第17位

是否审计DIRECTORY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计DIRECTORY对象的CREATE、DROP、ALTER操作。
  • 1表示审计DIRECTORY对象的CREATE、DROP、ALTER操作。

第18位

是否审计SYNONYM对象的CREATE、DROP、ALTER操作。

  • 0表示不审计SYNONYM对象的CREATE、DROP、ALTER操作。
  • 1表示审计SYNONYM对象的CREATE、DROP、ALTER操作。

第19位

是否审计SEQUENCE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计SEQUENCE对象的CREATE、DROP、ALTER操作。
  • 1表示审计SEQUENCE对象的CREATE、DROP、ALTER操作。

第20位

是否审计CMK、CEK对象的CREATE、ALTER、DROP操作。

  • 0表示不审计CMK、CEK对象的CREATE、ALTER、DROP操作。
  • 1表示审计CMK、CEK对象的CREATE、ALTER、DROP操作。

第21位

是否审计PACKAGE对象的CREATE、DROP、ALTER操作。

  • 0表示不审计PACKAGE对象的CREATE、DROP、ALTER操作。
  • 1表示审计PACKAGE对象的CREATE、DROP、ALTER操作。

第22位

保留

-

第23位

保留

-

第24位

是否审计对gs_global_config全局对象的ALTER、DROP操作。

  • 0表示不审计对系统表gs_global_config全局对象的ALTER、DROP操作。
  • 1表示审计对系统表gs_global_config全局对象的ALTER、DROP操作。

第25位

是否审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作,目前该功能暂不支持。

  • 0表示不审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。
  • 1表示审计FOREIGN DATA WRAPPER对象的CREATE、DROP、ALTER操作。

第26位

是否审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。

  • 0表示不审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。
  • 1表示审计SQL PATCH对象的CREATE、ENABLE、DISABLE、DROP操作。

第27位

保留

-

第28位

是否审计DBLINK对象的CREATE、ALTER、DROP操作。

  • 0表示不审计DBLINK对象的CREATE、ALTER、DROP操作。
  • 1表示审计DBLINK对象的CREATE、ALTER、DROP操作。

第29位

是否审计RESOURCE LABEL、MASKING POLICY、AUDIT POLICY对象的CREATE、DROP、ALTER操作。

  • 0表示不审计RESOURCE LABEL、MASKING POLICY、AUDIT POLICY对象的CREATE、ALTER、DROP操作。
  • 1表示审计RESOURCE LABEL、MASKING POLICY、AUDIT POLICY对象的CREATE、ALTER、DROP操作。

audit_dml_state

参数说明:该参数表示是否对所有表的INSERT、UPDATE、DELETE、MERGE操作进行审计。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。
  • 1:表示开启所有表的INSERT、UPDATE、DELETE、MERGE操作审计功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁进行INSERT、UPDATE、DELETE、MERGE操作时会频繁记录审计日志,导致数据库性能下降。

audit_dml_state_select

参数说明:该参数表示是否对SELECT操作进行审计。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭SELECT操作审计功能。
  • 1:表示开启SELECT操作审计功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁进行SELECT操作时会频繁记录审计日志,导致数据库性能下降。

audit_function_exec

参数说明:该参数表示在执行存储过程、匿名块或自定义函数(不包括系统自带函数)时是否记录审计信息。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。
  • 1:表示开启对存储过程、匿名块或自定义函数(不包括系统自带函数)执行的审计功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁执行存储过程、匿名块或自定义函数时会频繁记录审计日志,导致数据库性能下降。

audit_system_function_exec

参数说明:这个参数决定在执行白名单内的系统函数时是否记录审计日志。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭系统函数执行的审计功能。
  • 1:表示开启系统函数执行的审计功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁执行白名单内系统函数时会频繁记录审计日志,导致数据库性能下降。

支持记录审计的系统函数白名单如下表所示:

set_working_grand_version_num_manually

set_config

pg_terminate_backend

pg_cancel_backend

pg_cancel_session

pg_cancel_invalid_query

pg_reload_conf

pg_rotate_logfile

pg_terminate_session

pg_terminate_backend

pg_start_backup

pg_stop_backup

pg_create_restore_point

pg_switch_xlog

pg_cbm_get_merged_file

pg_cbm_recycle_file

pg_enable_delay_ddl_recycle

pg_disable_delay_ddl_recycle

pg_cbm_rotate_file

gs_roach_enable_delay_ddl_recycle

gs_roach_disable_delay_ddl_recycle

gs_roach_stop_backup

pg_last_xlog_receive_location

pg_xlog_replay_pause

pg_xlog_replay_resume

gs_roach_switch_xlog

gs_pitr_archive_slot_force_advance

gs_pitr_clean_history_global_barriers

gs_download_obs_file

gs_upload_obs_file

gs_set_obs_file_context

gs_set_obs_delete_location

gs_hadr_do_switchover

gs_set_obs_delete_location_with_slotname

gs_streaming_dr_in_switchover

pg_advisory_lock

pg_advisory_lock_shared

pg_advisory_unlock

pg_advisory_unlock_shared

pg_advisory_unlock_all

pg_advisory_xact_lock

pg_advisory_xact_lock_shared

pg_try_advisory_lock

pg_try_advisory_lock_shared

pg_try_advisory_xact_lock

pg_try_advisory_xact_lock_shared

gs_get_hadr_key_cn

pg_create_physical_replication_slot_extern

pg_create_logical_replication_slot

pg_drop_replication_slot

pg_logical_slot_peek_changes

pg_logical_slot_get_changes

pg_logical_slot_get_binary_changes

pg_replication_origin_drop

pg_replication_origin_session_reset

local_space_shrink

gs_space_shrink

global_space_shrink

pg_free_remain_segment

gs_fault_inject

sqladvisor.init

sqladvisor.set_weight_params

sqladvisor.set_cost_params

sqladvisor.assign_table_type

gs_repair_file

local_clear_bad_block_info

gs_repair_page

clean_abnormal_sql

abnormal_sql_manage_allowlist

dsl_add_rule

dsl_del_rule

dsl_set_rule

dsl_reload_rule

pgxc_fenced_udf_process

pgxc_terminate_all_fenced_udf_process

-

-

-

在系统函数执行这类审计事件的审计记录中,object_name字段的内容为系统函数名,不再带函数参数。

audit_copy_exec

参数说明:这个参数决定是否对COPY操作进行审计。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭COPY审计功能。
  • 1:表示开启COPY审计功能。

默认值:1

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁执行COPY操作时会频繁记录审计日志,导致数据库性能下降。

audit_set_parameter

参数说明:该参数表示是否对SET操作进行审计。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭SET审计功能。
  • 1:表示开启SET审计功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:此参数设置为1,当数据库频繁执行SET操作时会频繁记录审计日志,导致数据库性能下降。

audit_xid_info

参数说明:该参数决定是否在审计日志字段detail_info中记录SQL语句的事务ID。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭审计日志记录事务ID功能。
  • 1:表示开启审计日志记录事务ID功能。

默认值:0

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改。

如果开启此开关,审计日志中detail_info信息则以xid开始,例如:

detail_info: xid=14619 , create table t1(id int);

对于不存在事务ID的审计行为,则记录xid=NA。

audit_rollback

参数说明:该参数表示是否对rollback操作进行审计。该参数可在PDB级别设置。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭rollback操作审计功能。
  • 1:表示开启rollback操作审计功能。

默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:开启后rollback操作会记录审计。

audit_sql_error

参数说明:该参数表示是否对执行错误的SQL进行审计。该参数可在PDB级别设置。

参数类型:整型

参数单位:无

取值范围:0、1

  • 0:表示关闭执行错误的SQL操作审计功能。
  • 1:表示开启执行错误的SQL操作审计功能。

默认值:0。在PDB场景内,若未设置该参数,则继承来自全局的设置。

设置方式:该参数属于SIGHUP类型参数,请参见表1中对应设置方法进行设置。

设置建议:推荐使用默认值。

设置不当的风险与影响:开启后执行错误的SQL操作会记录审计。

相关文档