首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL中已完成事务的选择性撤销

问PostgreSQL中已完成事务的选择性撤销
EN

Database Administration用户
提问于 2013-11-28 07:29:06
回答 1查看 391关注 0票数 3

我继承了一个小型(<100万行) PostgreSQL DB,它包含跨几个表的复杂业务规则。更新非常轻,读起来不那么重,但是数据非常有价值。

这些规则是由各种复杂的、遗留的、重叠的系统更新的,所有这些系统都是不容易修改的。甚至有人使用SQL模板进行一些更新。

我们真的有“恐慌,为什么你要删除客户的路线?我们将如何撤销这一点?”片刻。

那么,有一种简单的方法可以对这些表进行版本化吗?是否能够手动检查并决定撤消特定事务,以及检查后续事务依赖于哪些事务,等等?

我相信MSSQL和甲骨文都有内置版本。PostgreSQL是否支持任何类似的“更改数据捕获”系统?

我不愿意使用我自己的触发器脚本。我可以看到,我可以将txid_current()放在“影子”表中,但不能记录事务提交或回滚的情况。例如,表审计/表日志似乎只在桌面级别上。如果我不得不自己做,我会怎么做,我需要记住哪些方面?

是否有用于在PostgreSQL中执行多表事务跟踪的工具或脚本,以及用于恢复和撤消它们的工具?

EN

回答 1

Database Administration用户

发布于 2013-12-21 01:43:01

你有几个选择。如果它只是提交的事务,您需要担心,我会使用基于触发器的解决方案。已经有了一些扩展来帮助解决这个问题。例如,请参阅电子maj,在如何滚动您自己的审计触发器方面有一个很好的文档,而2 nd象限在GitHub上有一个审计触发器的已发布版本。

您可能拥有的关键问题之一是确定如何处理选择性更新的回滚。是否需要将表还原到特定的时间点?还是一排?对于这里的任何解决方案,您都可能不得不对此部分提交自己的解决方案。不幸的是,塔布卢格似乎确实死了。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/55396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档