我有一个包含敏感数据的表,根据数据保护策略,我们必须记录每次读/写数据,包括行标识符和访问表的用户。写入使用触发器不成问题,但触发器不支持SELECT
语句。在PostgreSQL中记录SELECT语句8.4
这样做的最好方法是什么?我已经看过规则,但是我无法将它们转到INSERT
表中,并且我尝试过记录每个查询,但是这似乎没有记录SELECT
语句。理想情况下,为了安全起见,我想将日志保存在数据库的一个表中,但记录到文件也没问题。
谢谢,
大卫
我有一个包含敏感数据的表,根据数据保护策略,我们必须记录每次读/写数据,包括行标识符和访问表的用户。写入使用触发器不成问题,但触发器不支持SELECT
语句。在PostgreSQL中记录SELECT语句8.4
这样做的最好方法是什么?我已经看过规则,但是我无法将它们转到INSERT
表中,并且我尝试过记录每个查询,但是这似乎没有记录SELECT
语句。理想情况下,为了安全起见,我想将日志保存在数据库的一个表中,但记录到文件也没问题。
谢谢,
大卫
你可以在PostgreSQL的支持句日志记录:
postgresql.conf中:
log_statement = 'all' # none, ddl, mod, all
然后重新启动数据库和所有senteces将被记录。
您可以采取日志文件并使用cvslog format将其导入到数据库中,或者使用类似syslog-ng的设置将消息放回到postgres或其他数据库中。