我可以记录调用DELETE查询的脚本吗?

时间:2014-11-25 18:46:44

标签: postgresql

我必须调查导致表格行消失的人或者是什么。 所以,我正在考虑创建“on before before”触发器,该触发器记录调用删除的脚本。这可能吗?我可以更好地获取db客户端名称或事件 - 调用删除查询并将其记录到另一个临时创建的日志表的脚本吗? 我也对其他解决方案持开放态度。

提前致谢!

1 个答案:

答案 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包含两个这样的审计触发器的例子: