PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES 版本 4.2 为基础的对象关系型数据库管理系统(ORDBMS)。

笔者的PostgreSQL数据库是部署在docker中,以下主要介绍将数据库a服务器的docker容器中dump之后,在b服务器中生成相应的数据库操作:

1、目标数据库生成dump文件:

  1. 查找pgsql的docker镜像名称:
docker ps|grep pg
  1. 生成dump文件:
# 进入docker容器
docker exec -it xxx bash
# 切换至postgres用户
su postgres
# 进入数据所在目录
cd /var/lib/postgresql/data
# 生成dump文件
pg_dump -U postgres -d 数据库名 -f 路径+文件名称 

一般情况下,数据库备份文件都比较大,可以选择将文件压缩成压缩包

tar -zcvf  xxxx.tar.gz xxxx.dump

2、将备份的dump文件生成数据库:

  1. 在a服务器上找到文件下载b服务器:
#通过此命令查询容器与服务器对应路径
docker inspect xxxx
# 在对应路径找到文件下载
......
  1. 利用dump文件生成数据库:
# 进入容器中切换用户
docker exec -it xxxx
su postgres
# 删除之前数据库,新建数据库
createdb yh_map
#进入到pgsql数据区进行dump
cd /var/lib/postgresql/data/
psql -d yh_map -f xxxx.dump

记得删除服务器中的dump文件,比较耗费资源

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐