您可以使用RDS PostgreSQL的备份下载功能,将云盘实例的快照备份数据转换成CSV文件或SQL文件导出,然后通过该文件将数据恢复到自建PostgreSQL数据库中。
操作步骤
本示例以RDS PostgreSQL云盘实例的SQL文件恢复至ECS实例(CentOS 7.8 64位)的自建PostgreSQL数据库为例,其他环境请使用对应命令。
-
登录RDS控制台,使用下载备份功能将云盘实例的备份文件转换成CSV文件或SQL文件,并下载到本地或ECS实例中。
-
在本地或ECS实例中解压下载的备份文件,命令如下:
tar -zxvf .tar.gz -C
本示例将名为
backup.tar.gz
的压缩文件解压缩到指定目录/home/ecs-test-user
中,具体请以实际文件名和目录为准。tar -zxvf backup.tar.gz -C /home/ecs-test-user
-
(可选)查看备份文件是否已解压到指定位置(/home/ecs-test-user)。
ls -al /home/ecs-test-user
-
将Python脚本文件下载至本地或ECS实例中。
-
对Python脚本文件
restore_from_downloads.py
进行授权,命令如下:chmod +x ./restore_from_downloads.py
-
将CSV文件或SQL文件恢复至自建数据库,恢复命令如下:
python3 restore_from_downloads.py
示例如下:
python3 restore_from_downloads.py /home/ecs-test-user 127.0.0.1 5432 postgres "#Tes********"
重要
-
请确保自建数据库中没有和待导入的数据库同名的库,否则将导入失败。
-
如果数据库账号名或密码中包含了特殊字符(例如:#、空格等),在命令行传入参数时需要使用英文双引号(””)将密码括起来。例如,如果数据库密码是
#1234
,则需要在命令行中传入"#1234"
。 -
如果您的系统没有安装Python 3.x,恢复可能会出错。您可通过
python3 --version
命令查看Python版本。
-
相关文档
-
对于少量的数据,例如恢复某个表的数据,您也可使用逻辑备份进行快速恢复。具体操作,请参见使用pg_restore恢复逻辑备份文件数据。
-
阿里云提供的迁移服务也可帮助您将RDS PostgreSQL迁移至自建PostgreSQL数据库。更多详情,请参见PostgreSQL为源的数据迁移。
-
更多数据恢复方案,请参见恢复方案概览。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/166565.html