IBM Cloud Docs
使用 pgAudit 记录日志

使用 pgAudit 记录日志

PostgreSQL审计扩展(pgAudit)可为您的IBM Cloud® Databases for PostgreSQL部署启用会话日志。

会话记录

会话记录默认为关闭。 您可以启用会话记录参数,记录审计事件类型集的所有活动。 会话日志对整个数据库群集启用,对特定事件类型启用 onoff

事件类型

会话记录是按事件类型配置的。 所有版本都支持的事件类型有

  • 函数
  • 职能部门
  • DDL
  • MISC
  • MISC_SET(该附加类型仅在 PostgreSQL 12 或更高版本中受支持)

更多信息,请参阅 pgaudit

启用 pgAudit 会话记录

要启用 pgAudit 会话记录,请以管理员用户身份连接并调用 set_pgaudit_session_logging 函数,同时指定适当的事件参数。 会话记录直接在数据库中启用,不提供 API 或 CLI 访问。

例如,要启用 DDL 和 ROLE,您可以调用

SELECT public.set_pgaudit_session_logging('{ddl, role}');

任何后续调用都会替换现有配置,而不是相加。 例如,对 SELECT public.set_pgaudit_session_logging('{misc}'); 的后续调用将只记录 misc 而禁用 ddlrole

禁用 pgAudit

要禁用审计日志记录:调用相同的函数并指定 none。 例如:

SELECT public.set_pgaudit_session_logging('{none}');

在调用该函数时,会立即更改审计级别,而不会中断数据库活动。

审计日志

审计事件会以如下格式出现在IBM® Cloud Logs中:

LOG: AUDIT: SESSION,1,1,DDL,CREATE TABLE,,,create table f2 (id int);,<not logged>

此处记录了该格式。

如果您想查看当前日志级别,可以运行该命令:

show pgaudit.log;