我必须调查导致表格行消失的人或者是什么。 所以,我正在考虑创建“on before before”触发器,该触发器记录调用删除的脚本。这可能吗?我可以更好地获取db客户端名称或事件 - 调用删除查询并将其记录到另一个临时创建的日志表的脚本吗? 我也对其他解决方案持开放态度。
提前致谢!
答案 0 :(得分:0)
您无法获取发出delete
声明的“脚本”,但您可以获得其他各种信息:
current_user
将返回发起delete
声明的当前Postgres用户inet_client_addr()
将返回客户端计算机的IP地址current_query()
将返回导致触发器触发的完整语句手册中提供了有关此类功能的更多详细信息:
http://www.postgresql.org/docs/current/static/functions-info.html
Postgres Wiki包含两个这样的审计触发器的例子: