[数据库]阿里云postgres数据库备份恢复

一、云postgres RDS

阿里云文档

  • 打开RDS的备份恢复
  • 数据备份列表中,最新的实例备份点操作中的实例备份下载
  • 进入的高级下载中,选备份集
  • 下一步实例下载
  • 下一步下载目标选url,下载格式随意选,建议选sql,因为csv没有表头(字段名),不过用脚本恢复时候完全不影响
  • 点完成然后在备份下载任务中生成一个正在运行的任务,20G的库生成下载目标链接大约需要50分钟
  • 任务成功后,点生成链接,进入后点生成链接按钮,生成一个内网和外网的链接,外网链接可以下载到本地,超过免费额度的流量后要钱
  • 下载外网链接到本地是个tar.gz压缩包
# 解压
tar -zxvf <压缩包文件名>.tar.gz -C <解压缩后的文件位置>
例:tar -zxvf backup.tar.gz -C ./test_db,如果有rds有多个数据库,解压后test_db会有多个以数据库命名的文件夹
# 授权
chmod +x ./restore_pg.py
  • 重点:1. 解压文件test_db中保留要恢复的数据库文件夹,其余都删掉 2. 删除要恢复的rds中的原库
# 授权
python3 restore_pg.py <CSV文件或SQL文件目录路径> <数据库主机> <数据库端口> <数据库账号> <数据库密码>
# 请确保自建数据库中没有和待导入的数据库同名的库,否则将导入失败。
# 恢复到本地
python3 ./restore_pg.py ./test_db 127.0.0.1 5432 postgres ""  # 空密码使用双引号
# 恢复到云RDS
python3 ./restore_pg.py ./test_db  xxxxx.pg.rds.aliyuncs.com 1921 username password
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
PostgreSQL是一种开源的关系型数据库管理系统,其默认的超级用户为"postgres"。要进行远程全量备份使用的是pg_dump命令,这是一个用于备份整个数据库或者特定数据库对象的工具。下面是一个针对postgres数据库的root用户名远程全量备份脚本的示例: ```bash #!/bin/bash # 定义备份相关的变量 DB_HOST="远程主机IP" DB_PORT="远程主机端口" DB_USER="postgres" DB_NAME="要备份的数据库名" BACKUP_DIR="/备份文件保存路径" BACKUP_NAME="备份文件名_$(date +%Y%m%d%H%M%S).sql" # 使用pg_dump进行全量备份 pg_dump -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -F p -f "$BACKUP_DIR/$BACKUP_NAME" # 确认备份是否成功 if [ $? -eq 0 ]; then echo "备份已成功保存至:$BACKUP_DIR/$BACKUP_NAME" else echo "备份失败,请检查设置和数据库连接" fi ``` 请注意修改以下变量的值以适配您的环境: - DB_HOST:远程主机的IP地址或域名。 - DB_PORT:远程主机上PostgreSQL数据库的端口。 - DB_NAME:要备份的数据库的名称。 - BACKUP_DIR:备份文件保存的路径,确保该目录存在并具有适当的写权限。 您可以将该脚本保存为.sh文件,并在命令行中运行:`bash 脚本文件名.sh`。它将使用pg_dump命令在远程主机上备份postgres数据库为一个.sql文件,并将其保存到指定的备份目录中。最后,脚本将打印出备份的位置或失败的信息。 这是一个基本的远程全量备份脚本示例,您可以根据需要进行修改和扩展。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值