首先,请原谅我可怜的英语。
关键词," pg_clog"在"连续存档和时间点恢复(PITR)"中没有提到。 postgresql 9.x文件。但正如我从本书中了解到的那样,数据库系统实现,提交日志是数据库从故障或备份中恢复的必要条件,因为它们有助于恢复数据库的一致性。
是否因为提交记录也写在其他文件中?例如,WALs?
谢谢。
答案 0 :(得分:1)
提交日志包含特定事务是已提交还是已回滚的信息。
当行写入表时,尚不清楚事务是否成功。而是在提交或恢复事务时将该信息存储在每个行版本(“元组”)中,而PostgreSQL仅在提交日志中标记事务的状态。
因此有必要使用提交日志来确定某个元组是否可见;没有它,数据库就无法使用。
恢复文档中没有特别提及提交日志,因为它是数据目录的一部分,并在检查点时写入磁盘。
对于恢复,没有必要在恢复的检查点之外提交提交日志信息:因为COMMIT
和ROLLBACK
被记录在事务日志(“WAL”)中,所有信息存在并将在恢复期间写入提交日志。