postgresql数据库备份还原

背景:
公司 原先将postgresql跑在docker容器内,
并且使用了dockerswarm拉力编排,portainer的可视化来管理
变更需求:
将postgresql 迁离swarm集群,单独使用docker run命令来运行

备份:

pg_dump -U 用户名 -h 数据库IP -d 需要备份的库名 -f 将备份文件输出到路径 

常用的选项包括:
-U 用户名
-h 数据库IP
-p 数据库端口
-W(稍后交互式输入密码)
-d 需要备份的库名
-f 将备份文件输出到路径


本次使用的命令

docker exec -it postgresql bash -c "pg_dumpall -U postgres  -h 0.0.0.0 -f /pg-bakup.sql"
#在容器内执行,备份所有库,并且不需要密码,将备份文件输出到根目录

docker cp postgresql:/pg-bakup.sql .
#将容器内备份文件 拷贝到宿主机的当前目录

docker run 起新容器

docker run -itd \
--restart=unless-stopped \
--name postgresql \
-v /data/nfs/postgresql/data:/var/lib/postgresql/data \
-e POSTGRES_PASSWORD=PASSWORD \
-p 5433:5432  \
postgresql:12.5

导入数据

psql -h 0.0.0.0 -U postgres -f [dump.sql/*.dmp]
psql -h 数据库IP -U 用户名 -f 备份文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值