PostgreSQL 9.5.3 中文手册 | |||
---|---|---|---|
上一页 | 上一级 | 章 26. 恢复配置 | 下一页 |
默认情况下,恢复将会一直恢复到 WAL 日志的末尾。 下面的参数可以用来指定一个更早的停止点。在recovery_target、 recovery_target_name、recovery_target_time 或recovery_target_xid中,最多只能使用一个, 如果在配置文件中指定了多个,将使用最后一个。
这个参数指定恢复应该在达到一个一致状态后尽快结束,即尽早结束。 在从一个在线备份中恢复时,这意味着备份结束的那个点。
在技术上,这是一个字符串参数,但是'immediate'是目前 唯一允许的值。
这个参数指定恢复将继续进行的已命名的恢复点
(pg_create_restore_point()
创建)。
这个参数指定恢复将继续执行的时间戳。精确的停止点也受到 recovery_target_inclusive的影响。
这个参数指定恢复将继续执行的事务ID。记住虽然事务 ID 是在事务开始时顺序分配的, 但是事务可能以不同的数字顺序完成。那些在指定事务之前(也可以包括该事务) 提交的事务将被恢复。精确的停止点也受到recovery_target_inclusive 的影响。
下列选项进一步指定恢复目标,并影响达到目标时会有什么发生:
指定我们是否在指定的恢复目标之后停止(true), 或者在恢复目标之前停止(false)。适用于 recovery_target_time或者 recovery_target_xid被指定的情况。这个设置分别控制 事务是否有准确的目标提交时间或 ID 将被包括在该恢复中。默认值为 true。
指定恢复到一个特定的时间线中。默认值是沿着基础备份建立时的当前时间线恢复。 将这个参数设置为latest会恢复到该归档中能找到的最新的时间线, 这在一个后备服务器中有用。除此之外,你只需要在复杂的重新恢复情况下设置这个参数, 在这种情况下你需要返回到一个状态,该状态本身是在一次时间点恢复之后到达的。 相关讨论见第 24.3.5 节。
指定当到达恢复目标时服务器应该采取什么动作。默认值是pause, 这意味着将暂停恢复。promote意味着将结束恢复进程并且服务器开始接受连接。 shutdown将在到达恢复目标后停止服务器。
使用pause设置的预期是允许对数据库执行查询,
以检查此恢复目标是否是最理想的恢复点。暂停状态可以通过
pg_xlog_replay_resume()
恢复(参见
表 9-70),
这将导致恢复运行到结束。
如果这个恢复目标不是想要的停止点,则关闭该服务器,
改变恢复目标设置为一个更晚的目标并且重启来继续恢复。
shutdown设置对于在准确的重放点准备实例是有用的。 实例仍然能够重放更多的WAL记录 (并且实际上将必须在下一次启动时重放自上次检查点以来的WAL记录)。
请注意,因为当recovery_target_action设置为shutdown时, recovery.conf不会被重命名,所以任何后续的启动将以立即关闭结束, 除非配置更改或recovery.conf文件被手动删除。
如果未设置恢复目标,则此设置无效。如果未启用 hot_standby,则pause 的设置将与shutdown的动作相同。