使用 pgAudit 记录日志
PostgreSQL审计扩展(pgAudit)可为您的IBM Cloud® Databases for PostgreSQL部署启用会话日志。
会话记录
会话记录默认为关闭。 您可以启用会话记录参数,记录审计事件类型集的所有活动。 会话日志对整个数据库群集启用,对特定事件类型启用 on
或 off
。
事件类型
会话记录是按事件类型配置的。 所有版本都支持的事件类型有
- 函数
- 职能部门
- 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
而禁用 ddl
和 role
。
禁用 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;