最近,我的团队遇到了这样一种情况,即我们共享测试数据库中的一些记录无缘无故地消失了。因为它是一个共享数据库(被很多团队使用),所以我们无法追查是编程错误还是有人运行了错误的 sql 脚本。
因此,当特定表 A 的一行被删除时,我正在寻找一种通知(在数据库级别)的方法。我查看了 Postgres TRIGGER,但它未能提供导致删除的具体 sql。
有没有办法记录导致表A中某些行被删除的sql语句?
最佳答案
你可以使用类似 this 的东西.
它允许您为 PostgreSQL 表创建一个特殊的触发器,记录对所选表的所有更改。
此触发器可以记录导致更改的查询(通过 current_query()
)。
以此为基础,您可以向日志中添加更多字段/信息。
关于java - 检测何时从 PostgreSQL 数据库中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055797/