我继承了一个小型(<100万行) PostgreSQL DB,它包含跨几个表的复杂业务规则。更新非常轻,读起来不那么重,但是数据非常有价值。
这些规则是由各种复杂的、遗留的、重叠的系统更新的,所有这些系统都是不容易修改的。甚至有人使用SQL模板进行一些更新。
我们真的有“恐慌,为什么你要删除客户的路线?我们将如何撤销这一点?”片刻。
那么,有一种简单的方法可以对这些表进行版本化吗?是否能够手动检查并决定撤消特定事务,以及检查后续事务依赖于哪些事务,等等?
我相信MSSQL和甲骨文都有内置版本。PostgreSQL是否支持任何类似的“更改数据捕获”系统?
我不愿意使用我自己的触发器脚本。我可以看到,我可以将txid_current()放在“影子”表中,但不能记录事务提交或回滚的情况。例如,表审计/表日志似乎只在桌面级别上。如果我不得不自己做,我会怎么做,我需要记住哪些方面?
是否有用于在PostgreSQL中执行多表事务跟踪的工具或脚本,以及用于恢复和撤消它们的工具?
https://dba.stackexchange.com/questions/55396
复制相似问题