Docker安装PostgreSQL及还原备份
安装数据库
#下载镜像
docker pull postgres:9.6
#
mkdir -p /mydata/postgresql/data
mkdir -p /mydata/postgresql14/data
#启动
docker run --name postgres -e POSTGRES_PASSWORD=Ab@123456 -p 5432:5432 -v /mydata/postgresql/data:/var/lib/postgresql/data -d postgres:9.6
#启动14.2版本
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14
# 进入容器
docker exec -it postgres /bin/bash
# 进入文件夹
cd /usr/lib/postgresql/9.6/bin
# 进入postgresql,默认的postgres用户
psql -Upostgres
数据库备份还原
#备份,从其他服务器备份数据库文件
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-cloud20210601.tar ry-cloud
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-config20210601.tar ry-config
#将数据文件放到待还原服务器的挂载目录下
/mydata/postgresql/data/backupfile
#进入容器
docker exec -it postgres /bin/bash
#还原,首先创建空的待还原的数据库,之后进行还原的操作,执行的目录为容器内部的目录
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-cloud-test /var/lib/postgresql/data/backupfile/ry-cloud20210601.tar
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-config-test /var/lib/postgresql/data/backupfile/ry-config20210601.tar
#查看还原信息
tail-f nohup.out
实例
#备份数据库
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/deviceon220220513.tar deviceon2
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/nacos220220513.tar nacos
#安装启动数据库
docker pull postgres:14.2
mkdir -p /mydata/postgresql14/data
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14
#还原数据库
将数据库文件放到 /mydata/postgresql14/data/backupfile/下
docker exec -it postgres14 /bin/bash
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2 /var/lib/postgresql/data/backupfile/deviceon220220513.tar
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2-nacos /var/lib/postgresql/data/backupfile/nacos220220513.tar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)