我正在尝试在postgresql中为数据库编写审计触发器。此审核日志应记录日期,时间,用户等,以及更新的特定值。我的挑战在于区分特别请求的更新操作中的值与从前一个值继承的更新操作。
例如:
CREATE TABLE dummy_table (id SERIAL NOT NULL PRIMARY KEY, a INTEGER, b INTEGER);
INSERT INTO dummy_table (a,b) values (1,2);
UPDATE dummy_table SET (a) = (1) WHERE id = 1;
在此更新中,OLD和NEW记录都包含(a,b) = (1,2)
。但只有a
实际上是更新的一部分。是否有可能在触发器中检测到这种区别?