跟踪对 PostgreSQL 表的所有修改

gue*_*tli 16 postgresql audit change-tracking

我们有一个只有大约 500 行的表,但这对我们来说非常重要。

我想查看发生在此表上的所有更改。应使用时间戳跟踪更改。

我不希望在应用程序代码中进行跟踪,因为我也想跟踪通过psqlshell发生的更改。

我对特定于 PostgreSQL 的解决方案感到满意,因为在这种情况下我没有使用不同的数据库。

小智 14

从评论编译的答案

您可以在表上放置任何 DML 事件的触发器,将有关事件的信息写入日志表。如果您也想跟踪 DDL,请查看事件触发器-粘滞位

a-horse-with-no-name给出的一些示例实现:

即便是几年前,基本思路没有变,都是合理的选择。最近更新了第四种方案的来源:https : //github.com/2ndQuadrant/audit-trigger