NetBackup™ for PostgreSQL 管理指南
恢复还原
根据使用的 PostgreSQL 版本选择恢复工作流程。如果使用的是 PostgreSQL 版本 12 或更高版本,请直接转到 恢复 PostgreSQL 版本 12 或更高版本 部分。
成功还原之后,要恢复还原,请将 recovery.conf.sample
文件复制到 PostgreSQL 数据目录。recovery.conf.sample
位于 PostgreSQL 安装目录。确保在复制恢复文件之后,删除 .sample
扩展名。
设置参数并重新启动 PostgreSQL 服务时,服务器将进入恢复模式并读取已存档的 WAL 文件。如果恢复终止,则可以重新启动服务器继续恢复过程。
成功完成之后,服务器将 recovery.conf
文件重命名为 recovery.done
,以防重新进入恢复模式。
在 Linux 操作系统中,在成功还原之后,所有者和组默认为 postgres
。您必须将所有权更改为 PostgreSQL 所有者并根据环境修改设置。
recovery.conf
文件包含必须设置才能启用存档恢复或充当复制备用的参数。必须再次为需要执行的后续恢复设置参数。
表:recovery.conf
文件参数列出了必须设置才能启用存档恢复的参数。
表:recovery.conf
文件参数
参数 |
描述 |
---|---|
restore_command |
此参数指定为从存档存储复制回日志文件而运行的 Shell 命令。此参数对于存档存储为必需,对于流复制为可选。命令字符串可能包含 %f(替换为所需日志文件的名称)和 %p(替换为要将该日志文件复制到的绝对路径)。 |
recovery_target |
此参数在特定点停止前滚。默认情况下,恢复将前滚到 WAL 日志的末尾。 |
恢复还原
- 停止 PostgreSQL 服务。
- 将还原数据复制到 PostgreSQL 数据目录。
- (Linux) 将所有权更改为 PostgreSQL 用户。
- 将
recovery.conf
文件复制到 PostgreSQL 数据目录并删除.sample
扩展名。 - (Linux) 将所有权更改为 PostgreSQL 用户并根据环境修改设置。
- 编辑
recovery.conf
文件以设置以下内容:(Windows) 将 restore_command 参数指定为 cp "<PostgreSQL-data-directory>\\pgarchive\\%f" "%p"
(Linux) 将 restore_command 指定为 cp <PostgreSQL-data-directory>/pgarchive/%f %p
删除 pause_recovery_target 参数。
- 启动 PostgreSQL 服务。
- 成功恢复之后,删除
pgarchive
目录和recovery.done
文件。
如果使用的是 PostgreSQL 版本 12 或更高版本,请执行以下步骤。
恢复还原
- 停止 PostgreSQL 服务。
- 将还原数据复制到 PostgreSQL 数据目录。
- (Linux) 将所有权更改为 PostgreSQL 用户。
- (Windows) 将 restore_command 参数指定为 cp "<PostgreSQL-data-directory>\\pgarchive\\%f" "%p"
- (Linux) 将 restore_command 指定为 cp <PostgreSQL-data-directory>/pgarchive/%f %p
- 在 PostgreSQL 数据目录中创建名为
recovery.signal
的空文件。例如,# touch /<target_restored_directory>/recovery.signal - (Linux) 将 recovery.signal 文件的所有权更改为 PostgreSQL 用户。例如:chown postgres:postgres /<PostgreSQL-data-directory>/recovery.signal
- 启动 PostgreSQL 服务。