因此,提交时的失败会导致回滚。但是,如果回滚也由于某些原因而失败,并且数据库由于部分承诺而发生了更改,怎么办?如何将数据库恢复到原来的状态?
所讨论的数据库是postgresql。
发布于 2020-05-24 07:42:45
我认为您的问题触及了数据库可靠性属性的核心;ACID属性。它们的存在是为了保证数据库的可靠性。事务日志在这里起着至关重要的作用。你可能知道酸的性质,所以我不会钻研它。
如果回滚失败,则会出现严重问题。不能保证数据库的可靠性。换句话说,您可能在事务日志中出现了某种类型的损坏,最终将导致数据库不一致。我不确定它是如何与PostgreSQL一起工作的,但是对于MS,它将设置数据库脱机并重新启动它,这将触发一个恢复操作,并尝试再次回滚事务。如果这样做不起作用,您可能必须从早期的备份(日志、差异或完整)恢复数据库。
https://dba.stackexchange.com/questions/267785
复制相似问题