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

开启SQL审计日志

操作场景

RDS for PostgreSQL开启SQL审计后,系统会将SQL操作记录下来,并每半小时或单个记录达到100MB后上传日志,生成的审计日志会上传到OBS。如果审计日志的大小超过了赠送的备份空间容量,就会按照超出的部分进行计费。

注意事项

  • 实例创建完成后,默认关闭审计日志,打开会增加数据库负载,请知悉。
  • 审计日志为了保证性能,使用UTC时间,不受时区配置的影响。
  • 开启审计日志时,系统将自动为指定数据库安装pgaudit插件。开启后如果需要将其他数据库纳入审计范围,请提前手动为该数据库安装pgaudit插件,具体操作可参考使用pgaudit插件
  • 开启审计日志后,默认记录READ、WRITE和DDL类型的SQL语句。如需调整审计范围,请在参数配置界面修改pgaudit.log参数值,具体操作可参考修改RDS for PostgreSQL实例参数

支持的数据库版本

仅以下版本支持SQL审计功能,如果您的数据库引擎版本较低,请参考升级内核小版本通过界面升级大版本升级到最新版本。
  • RDS for PostgreSQL 12、13最新小版本
  • RDS for PostgreSQL 14及以上的全部版本

性能说明

pgaudit的性能影响取决于审计日志的数量和频率。如果审计日志量较小,对性能影响相对较小;如果审计日志量较大,对性能影响会比较明显,审计日志对性能的影响大约在20%左右。因此,在使用pgaudit时,需要根据实际情况进行参数配置和调整,以平衡审计需求和性能影响。

操作步骤

  1. 登录RDS管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击“日志管理”
  5. 选择“SQL审计日志”页签,单击“设置SQL审计”
  6. 在弹出框中,设置SQL审计日志保留天数,选择数据库,单击“确定”,保存设置策略。

    保留天数默认为7天,可设置范围为1~3660天。

    图1 设置SQL审计

  7. 如需关闭SQL审计,将开关设置为关闭,勾选确认信息后,单击“确定”。

    SQL审计关闭后,所有审计日志都会被立即删除,不可恢复,请您谨慎操作。

    图2 关闭SQL审计

  1. 登录RDS管理控制台
  2. 单击管理控制台左上角的,选择区域。
  3. 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
  4. 在左侧导航栏单击日志管理
  5. 选择“SQL审计日志”页签,单击页面右上方的“对接LTS配置”。
  6. 在右侧弹框中,勾选“日志对接LTS”,日志类型选择审计日志,在下拉框分别选择对应的日志组和日志流,单击“确定”。

    图3 LTS审计日志配置

  7. 如果已经配置LTS审计日志,在页面右上方,支持切换成分析视图,查看更详细的日志分析。

    图4 列表视图
    图5 分析视图
    • 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志

      关于分析视图中“原始日志”页面各字段说明,请参见表1

      表1 LTS审计日志字段说明

      参数

      说明

      _resource_id

      资源ID,固定值DBS_AUDIT_LOG,用户无需关注。

      _resource_name

      资源名称,固定值DBS_AUDIT_LOG,用户无需关注。

      _service_type

      服务类型,固定值POSTGRESQL。

      transaction_id

      应用程序名称,如PostgreSQL JDBC Driver。

      audit_type

      当前审计类型,SESSION、OBJECT、CLIENT_AUTHENTICATION。

      statement_id

      此会话的唯一语句 ID。

      sub_statement_id

      主语句中每个子语句的顺序ID。

      class_or_result

      表示执行的操作类型。

      • class值:见pgaudit.log选项,包括READ、ROLE。
      • result值:SUCCESS、FAIL。

      pid

      进程ID。

      statement_start_time

      语句起始时间戳,以us为单位。

      application_name

      应用名称。PSQL,JDBC等。

      user_name

      登录的用户名。

      database_name

      登录的数据库名。

      remote_host

      登录的host地址。

      command

      执行的SQL命令类型,ALTER TABLE、SELECT等。

      object_type

      对象类型,TABLE、INDEX、VIEW等。

      object_name

      对象名。

      sql_text

      在后端执行的SQL具体内容。

    • 在“统计图表”页签,支持使用表格、柱状图、折线图等图表类型展示不同场景数据。更多功能介绍,请参见统计图表概述
    • 在“日志分析”页签,支持对采集成功的日志数据进行搜索与分析。更多功能介绍,请参见日志搜索与分析概述
    • 在“实时日志”页签,支持查看实时上报的日志,实现对日志数据的快速检索与分析。更多功能介绍,请参见查看实时日志

相关文档