NetBackup™ Web UI PostgreSQL 管理指南
执行还原后恢复操作的步骤
对于各种平台,执行恢复后操作的过程如下所示:
对于 Windows (VSS):
- 转到“控制面板”>“系统和安全”>“管理工具”>“服务”。
- 选择 PostgreSQL 服务并将其停止。
- 删除或移动 PostgreSQL 数据目录中的所有内容。
注意:
还原后,使用以下命令更改已还原数据目录和文件的属性:
attrib -S restore_path/*.* /S /D
- 将还原的数据目录的所有内容复制到 PostgreSQL 数据目录。
- 从 PostgreSQL 数据目录编辑
postgresql.conf文件,并将restore_command参数编辑为 restore_command = 'copy "restored_WAL_directory\\%f" "%p"'。对于精确的时间点恢复,请指定执行恢复的时间戳。将
recovery_target_time参数更新为 recovery_target_time = 'yyyy-mm-dd hh:mm:ss' - 在数据目录中创建空文件并将其命名为
recovery.signal。 - 启动 PostgreSQL 服务。
对于 Linux (LVM):
- 停止 PostgreSQL 服务。
- 删除或移动 PostgreSQL 数据目录中的所有内容。
- 提取数据目录和 WAL 目录内容并将其复制到相应位置。
- 在数据目录中创建名为
recovery.signal的空文件。 - 从 PostgreSQL 数据目录编辑
postgresql.conf文件,并将 restore_command 参数编辑为 restore_command = 'copy "restored_WAL_directory\\%f" "%p"'。对于精确的时间点恢复,请指定执行恢复的时间戳。将 recovery_target_time 参数更新为 recovery_target_time = 'yyyy-mm-dd hh:mm:ss'
- 将 PostgreSQL 数据目录的所有权和权限更改为 700。
例如:
chown -R postgres:postgres /full/path/of/PostgreSQL/Data/Dir
chmod - R 700 /full/path/of/PostgreSQL/Data/Dir
- 启动 PostgreSQL 服务。
pg_basebackup 实用程序完成的备份的恢复步骤
- 停止 PostgreSQL 服务。
- 删除或移动 PostgreSQL 数据目录中的所有内容。
- 提取数据目录和 WAL 目录内容并将其复制到相应位置。
- 在数据目录中创建名为
recovery.signal的空文件。 - 从 PostgreSQL 数据目录编辑
postgresql.conf文件,并将restore_command参数编辑为 restore_command = 'copy "restored_WAL_directory\\%f" "%p"'。对于精确的时间点恢复,请指定执行恢复的时间戳。将
recovery_target_time参数更新为 recovery_target_time = 'yyyy-mm-dd hh:mm:ss' - (对于 Windows)为网络服务提供对数据目录的访问。
- (对于 Linux)将 PostgreSQL 数据目录的所有权和权限更改为 700。
例如:
chown -R postgres:postgres /full/path/of/PostgreSQL/Data/Dir chmod –R 700 /full/path/of/PostgreSQL/Data/Dir
- 启动 PostgreSQL 服务。
注意:
成功恢复后,从还原的路径
/full/path/of/restore/directory删除还原数据,否则下一个备份作业可能会失败。
pg_dumpall 实用程序完成的备份的数据库恢复步骤对于 Windows: psql.exe -h localhost -p port_num -U username -f full\path\to\dumpall\file\filename.out
对于 Linux:psql -h localhost -p port_num -U username-f full/path/to/dumpall/file/filename.out
pgdump 实用程序完成的备份的数据库恢复步骤对于 Windows:pg_restore -U username -d dbnamefull\path\to\dump\file\filename.dump
对于 Linux:pg_restore -U username -d dbnamefull/path/of/dump/file/filename.dump