我在Postgres上设置了连续存档/时间点恢复,我注意到了一些奇怪的行为。以下是事件的顺序:
我希望恢复所有数据,包括数据库停机后发生的数据。
我观察到的是,只有停机前的数据才被恢复。事实上,Postgres甚至从不在停机后请求/查找WAL日志。
(要明确的是,没有丢失数据,只是DB没有运行的一段时间,因此没有WAL日志发送。)
这就是你想要的行为吗?我无法找到关于Postgres决定应用哪个WAL日志的特定逻辑的任何信息。
如果是这样的话,这是否意味着在任何DB停机后都应该进行新的基本备份?
发布于 2013-08-16 10:40:24
PostgreSQL不关心何时生成WAL日志,它只是在恢复/恢复时按顺序读取它们。
如果在重新启动数据库后正确地发送了WAL日志,那么它们也应该被还原。
但是,如果由于某种原因甚至丢失了一个WAL文件(在本例中,我猜这将是关闭之前的最后一个片段,或者是启动后的第一个或多个片段),这通常是一个配置错误的archive_command (例如缺少错误检查),或者只是一个损坏的归档服务器,还原进程不能超过这一点。
https://dba.stackexchange.com/questions/46163
复制相似问题