Database 管理PostgreSQL 9.3中的审核触发器

Database 管理PostgreSQL 9.3中的审核触发器,database,postgresql,audit-trail,audit-logging,Database,Postgresql,Audit Trail,Audit Logging,我们已经实现了一个基于浏览器的系统,该系统从PostgreSQL 9.3数据库运行。我们在解决审计问题上遇到了困难。是否有方法记录审核触发器是否已关闭。这个问题与在后端数据库中检查和平衡管理员直接相关。虽然我知道数据库的超级用户具有不受限制的访问权限,但我们仍然需要找到一种方法来限制“关闭”审核触发器,或者至少限制审核数据库中(单独控制)触发器已关闭和/或打开的记录 或者,postgres帐户以外的帐户是否可以仅用于管理触发器,而超级用户帐户不覆盖这些权限 谢谢, DS您可以使用。有一个很好的例

我们已经实现了一个基于浏览器的系统,该系统从PostgreSQL 9.3数据库运行。我们在解决审计问题上遇到了困难。是否有方法记录审核触发器是否已关闭。这个问题与在后端数据库中检查和平衡管理员直接相关。虽然我知道数据库的超级用户具有不受限制的访问权限,但我们仍然需要找到一种方法来限制“关闭”审核触发器,或者至少限制审核数据库中(单独控制)触发器已关闭和/或打开的记录

或者,postgres帐户以外的帐户是否可以仅用于管理触发器,而超级用户帐户不覆盖这些权限

谢谢,
DS

您可以使用。有一个很好的例子,PostgresSQL还没有细粒度的管理员权限,所以你不能授予用户一些“管理员触发器”权限。在PostgreSQL 9.7的开始阶段有一些工作。现在,您真正能做的就是启用DDL日志记录(
log\u语句='DDL'
)。但是超级用户可以轻松地改变这一点。他们还可以使用
UPDATE
查询直接修改
pg_目录
,这些查询不会作为DDL显示在日志中。超级用户的强制审核功能实际上无法通过触发器实现。不过还有扩展。看见