一、docker安装postgresql

1. 拉取postgres

docker pull postgres

在这里插入图片描述

2. 创建容器

注:默认登录账户postgres, 密码123456, 对外暴露端口5432, 卷映射:可在物理机修改数据库配置文件 引用文章查看👀

docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -v /mydata/postgres/pgdata:/var/lib/postgresql/data -d postgres

二、安装 postgresql-client(容器内部安装)

注:安装后可使用 pg_dump 与 pg_restore 命令
注:pg_dump版本要与postgresql数据库版本对应
注:可使用 select version() 查看数据库版本

# 在容器内部安装 pg_dump 和其他需要的 PostgreSQL 工具
apt-get update
apt-get install postgresql-client

三、备份

注:备份

pg_dump -h <数据库ip> -p <连接端口号> -U <登录用户> -Fc -f "/usr/local/<sql文件名>.sql" --encoding=UTF8 --inserts <数据库名称>

在这里插入图片描述

四、还原

1. 准备工作

  1. 使用pgadmin创建新库和用户。且与老库的库名称与用户名相同

注:创建时可参照老库配置,通过属性查看
在这里插入图片描述
在这里插入图片描述

2. 导入

  1. 准备工作完成后执行导入

注:-U <还原时使用的用户名称>。可使用的用户, 不用与老库中导出时所用的用户相同
注:-d <要还原的库名称>。

pg_restore -U <还原时使用的用户名称> -d <要还原的库名称> "/usr/local/<备份的数据库文件名称>.sql"
  1. 异常情况

注:这种情况是新库用户与老库用户不同导致的error错误。创建相同用户这种错误可以避免
在这里插入图片描述

总结

1. 简洁重整备份还原流程

网上文章大多大概一说,细节不够明显。这里通过总结将具体步骤进行了列出。为在后期使用提供方便。

2. 分析报错, 解决报错原因

对导入报错的原因进行解析,并测试。测试过程通过对新库重新创建后,再执行还原脚本测试问题原因,解决问题。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐