java - 检测何时从 PostgreSQL 数据库中删除一行

标签 java database postgresql

最近,我的团队遇到了这样一种情况,即我们共享测试数据库中的一些记录无缘无故地消失了。因为它是一个共享数据库(被很多团队使用),所以我们无法追查是编程错误还是有人运行了错误的 sql 脚本。

因此,当特定表 A 的一行被删除时,我正在寻找一种通知(在数据库级别)的方法。我查看了 Postgres TRIGGER,但它未能提供导致删除的具体 sql。

有没有办法记录导致表A中某些行被删除的sql语句?

最佳答案

你可以使用类似 this 的东西.

它允许您为 PostgreSQL 表创建一个特殊的触发器,记录对所选表的所有更改。

此触发器可以记录导致更改的查询(通过 current_query())。

以此为基础,您可以向日志中添加更多字段/信息。

关于java - 检测何时从 PostgreSQL 数据库中删除一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14055797/

相关文章:

mysql - 从 Laravel 5 表单中插入多个选定值

mysql - PG::UndefinedTable: 错误:关系 'caves' 不存在

sql - SQuirreL SQL 客户端不显示 Json 数据

java - JUnit @RepeatedTest 用于并发执行

java - 为什么 AbstractCollection 没有实现 equals()?

java - 即使两个线程不同时读写,我是否也需要同步?

MySQL - 数据输入

java - AsyncTask(update) 仅在应用程序第一次打开时有效,但 5 秒后不会更新

sql-server - 检索 SQL 代理作业的特定错误

SQL:在条件中加入 OR