我有一个包含敏感数据的表,根据数据保护策略,我们必须记录每次数据的读/写,包括行标识符和访问表的用户.使用触发器写入没有问题,但SELECT语句不支持触发器.
这样做的最佳方法是什么?我已经查看了规则,但我无法让它们插入到表中,我已经尝试记录每个查询,但这似乎没有记录SELECT语句.理想情况下,为了安全起见,我希望将日志保存在数据库的表中,但是记录到文件也很好.
谢谢,
大卫
解决方法
您可以在Postgresql中启用SENTENCE LOGGING:
在postgresql.conf中:
log_statement = 'all' # none,ddl,mod,all
然后重新启动数据库,将记录所有的senteces.