为什么pg_clog时间点恢复(PITR)的postgresql文档中没有提到?



首先,请原谅我糟糕的英语。

关键词"pg_clog"在 postgresql 9.x 文档的"连续归档和时间点恢复 (PITR)"一章中没有提到。但正如我从《数据库系统实现》一书中了解到的那样,提交日志是数据库从故障或备份中恢复的必要条件,因为它们有助于将数据库恢复到一致性。

是因为提交记录也写入其他文件吗?例如,WALs?

谢谢。

提交日志包含特定事务是已提交还是回滚的信息。

当行写入表时,尚不清楚事务是否会成功。 PostgreSQL不是在提交或还原事务时将该信息存储在每个行版本("元组")中,而是仅在提交日志中标记事务的状态。

因此,有必要使用提交日志来确定某个元组是否可见;没有它,数据库将无法使用。

恢复文档中未特别提及提交日志,因为它是数据目录的一部分,并在检查点时写入磁盘。

对于恢复,不必在从中恢复的检查点之外具有提交日志信息:由于事务日志("WAL")中记录了COMMITROLLBACK,因此所有信息都在那里,并将在恢复期间写入提交日志。

最新更新