9.3 9.4 9.5 9.6 10 11 12
阿里云PostgreSQL 问题报告 纠错本页面

26.2. 恢复目标设置

默认情况下,恢复将会一直恢复到 WAL 日志的末尾。 下面的参数可以用来指定一个更早的停止点。在recovery_targetrecovery_target_namerecovery_target_timerecovery_target_xid中,最多只能使用一个, 如果在配置文件中指定了多个,将使用最后一个。

recovery_target = 'immediate'

这个参数指定恢复应该在达到一个一致状态后尽快结束,即尽早结束。 在从一个在线备份中恢复时,这意味着备份结束的那个点。

在技术上,这是一个字符串参数,但是'immediate'是目前 唯一允许的值。

recovery_target_name (string)

这个参数指定恢复将继续进行的已命名的恢复点 (pg_create_restore_point()创建)。

recovery_target_time (timestamp)

这个参数指定恢复将继续执行的时间戳。精确的停止点也受到 recovery_target_inclusive的影响。

recovery_target_xid (string)

这个参数指定恢复将继续执行的事务ID。记住虽然事务 ID 是在事务开始时顺序分配的, 但是事务可能以不同的数字顺序完成。那些在指定事务之前(也可以包括该事务) 提交的事务将被恢复。精确的停止点也受到recovery_target_inclusive 的影响。

下列选项进一步指定恢复目标,并影响达到目标时会有什么发生:

recovery_target_inclusive (boolean)

指定我们是否在指定的恢复目标之后停止(true), 或者在恢复目标之前停止(false)。适用于 recovery_target_time或者 recovery_target_xid被指定的情况。这个设置分别控制 事务是否有准确的目标提交时间或 ID 将被包括在该恢复中。默认值为 true

recovery_target_timeline (string)

指定恢复到一个特定的时间线中。默认值是沿着基础备份建立时的当前时间线恢复。 将这个参数设置为latest会恢复到该归档中能找到的最新的时间线, 这在一个后备服务器中有用。除此之外,你只需要在复杂的重新恢复情况下设置这个参数, 在这种情况下你需要返回到一个状态,该状态本身是在一次时间点恢复之后到达的。 相关讨论见第 24.3.5 节

recovery_target_action (enum) (boolean)

指定当到达恢复目标时服务器应该采取什么动作。默认值是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的动作相同。

<
/BODY >