使用PostgreSQL触发器,可以记录由于INSERT或UPDATE SQL语句而对表所做的更改,并将其记录到文件中以供以后执行
这只是暂时使用的,所以只有快速和肮脏的东西会做
来自的审核触发器示例
https://www.postgresql.org/docs/current/static/plpgsql-trigger.html
创建表格emp(
empname文本不为空,
工资整数
);
创建表emp_audit(
操作字符(1)不为空,
戳时间戳不为空,
用户标识文本不为空,
empname文本不为空,
工资整数
);
创建或替换函数process_emp_audit()将触发器返回为$emp_audit$
开始
--
--在emp_audit中创建一行,以反映在emp上执行的操作,
--利用特殊变量TG_OP计算出操作。
--
如果(TG_OP='DELETE'),那么
在emp_审计中插入选择“D”,now(),user,OLD.*;
返老还童;
ELSIF(TG_OP='UPDATE'),然后
在emp_审计中插入选择“U”,now(),user,NEW.*;
归还新的;
ELSIF(TG_OP='INSERT'),然后
在emp_审计中插入选择“I”,now(),user,NEW.*;
归还新的;
如果结束;
返回NULL;--结果被忽略,因为这是后触发器
终止
$emp_audit$LANGUAGE plpgsql;
创建触发器emp_审计
在emp上插入、更新或删除后
对于每一行,执行程序进程\u emp\u audit();