Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在postgresql的时间点恢复(PITR)文档中没有提到pg_clog?_Postgresql_Postgresql 9.4_Postgresql 9.6_Pitr - Fatal编程技术网

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

为什么在postgresql的时间点恢复(PITR)文档中没有提到pg_clog?,postgresql,postgresql-9.4,postgresql-9.6,pitr,Postgresql,Postgresql 9.4,Postgresql 9.6,Pitr,首先,请原谅我糟糕的英语 postgresql 9.x文档的“连续归档和时间点恢复(PITR)”一章中没有提到关键词“pg_clog”。但正如我从《数据库系统实现》一书中了解到的,提交日志是数据库从故障或备份中恢复所必需的,因为它们有助于数据库恢复到一致性 是否因为提交记录也写入其他文件?比如,沃尔斯 谢谢。提交日志包含特定事务是提交还是回滚的信息 将行写入表时,还不清楚事务是否会成功。在提交或恢复事务时,PostgreSQL只在提交日志中标记事务的状态,而不是在每行版本(“元组”)中存储该信息

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

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

是否因为提交记录也写入其他文件?比如,沃尔斯


谢谢。

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

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

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

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


对于恢复,提交日志信息不必超出您恢复的检查点:因为
commit
ROLLBACK
记录在事务日志(“WAL”)中,所以所有信息都在那里,并且在恢复期间都会写入提交日志。

。如果事务日志中有相同的信息,那么为什么需要提交日志?这是一种性能优化,因为搜索WAL档案的效率较低吗?当然,从WAL中提取这些信息是非常低效的。但这也是不可能的,因为一旦WAL文件被归档和回收,服务器就无法再使用它们。