【发布时间】:2022-06-23 12:48:13
【问题描述】:
我需要记录用户和角色中的所有更改(例如:向用户授予超级用户),记录添加新用户/角色,记录删除用户/角色。这是为了监控我们数据的安全性并确保将用户/角色更改记录到表甚至日志文件中。
我尝试在 pg_roles 和 pg_user 上创建触发器
CREATE TRIGGER pg_roles_trigger BEFORE INSERT OR UPDATE OR DELETE ON pg_roles
FOR EACH ROW EXECUTE PROCEDURE user_access_log_trigger();
但我收到错误Error:"pg_roles" is a view. DETAIL: Views cannot have row-level BEFORE or AFTER triggers
因此尝试在基表pg_authid 上创建触发器。但它也给出了错误:
ERROR: permission denied: "pg_authid" is a system catalog SQL state: 42501
Postgresql 有什么选项吗?
【问题讨论】:
标签: postgresql logging