【RDS for PostgreSQL】全备文件恢复到本地库
【摘要】 备份恢复, postgresql
步骤 1: 准备一个本地存放备份文件的目录。
步骤 2: 停止本地数据库服务器。
步骤 3: 保存本地目标数据库data目录下的三个配置文件(“postgresql.conf”、“pg_hba.conf”和“recovery.done”(recovery.done不存在则不用保存))。
步骤 4: 清空本地数据库的data目录。
步骤 5: 执行如下命令,将备份解压到步骤1中准备的目录。
tar -zxf src_file -C target_dir
参数说明如下:
“src_file”: pg全量备份文件的目录。
“target_dir”:需要恢复到的目录,即步骤1中准备的目录。注意:该目录必须是空目录,如果不存在该目录,则系统会创建该目录。
解压后会在当前目录下产生以下目录:
一个base目录,存放全量文件。
一个pg_wal目录(如果PostgreSQL版本为9.x,则为pg_xlog目录),增量文件目录。
N个以数字命名的表空间目录(如果原备份存在表空间文件)。
步骤 6(可选,若步骤5执行解压命令失败,执行该步骤) 下载解压工具(见附件)。
使用提供的解压脚本,执行如下命令,将备份解压到步骤1中准备的目录。
python restore_obs_file.py src_file target_dir
参数说明如下:
“src_file”: pg全量备份文件的目录。
“target_dir”:需要恢复到的目录,即步骤1中准备的目录。注意:该目录必须是空目录,如果不存在该目录,则系统会创建该目录。
解压后会在当前目录下产生以下目录:
一个base目录,存放全量文件。
一个pg_wal目录(如果PostgreSQL版本为9.x,则为pg_xlog目录),增量文件目录。
N个以数字命名的表空间目录(如果原备份存在表空间文件)。
步骤 7: 将步骤5或步骤6中的文件拷贝到本地数据库指定目录下。
将解压出来的base/data目录下的文件,全部拷贝到本地数据库data目录,然后用步骤3中保存的配置文件,覆盖本地数据库data目录下的三个文件。
将解压出来的pg_wal目录(如果PostgreSQL版本为9.x,则为pg_xlog目录)下的文件,拷贝到本地数据库data下的pg_wal目录(如果PostgreSQL版本为9.x,则为pg_xlog目录)。
如果原备份存在表空间文件,修改“data\tablespace_map”中对应的表空间软链接信息,如图所示:
步骤 8: 重新启动数据库,等待数据库恢复完成。
----结束
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)