5

我有一个包含敏感数据的表,根据数据保护策略,我们必须记录数据的每次读/写,包括行标识符和访问表的用户。SELECT使用触发器编写没有问题,但语句不支持触发器。

这样做的最佳方法是什么?我查看了规则,但无法将它们INSERT放入表中,并且我尝试记录每个查询,但这似乎没有记录SELECT语句。理想情况下,出于安全考虑,我希望将日志保存在数据库的表中,但记录到文件也可以。

谢谢,
大卫

4

2 回答 2

3

您可以在 PostgreSQL 中启用 SENTENCE LOGGING:

在 postgresql.conf 中:

log_statement = 'all'                   # none, ddl, mod, all

然后重新启动你的数据库,所有的句子都会被记录下来。

于 2010-04-16T15:36:05.103 回答
1

您可以获取日志文件并使用cvslog 格式将它们导入数据库,或者设置syslog-ng之类的东西将消息放回 postgres 或其他数据库。

于 2010-04-18T16:51:24.333 回答