postgresql - 如何从 Windows 10 docker 上的 tar 文件恢复 postgres 数据
问题描述
纳马斯蒂,
我使用以下命令为我的数据卷创建了 backup.tar 文件:
docker run --rm --volumes-from dockerproject_gobidb_1 -v C:\Users\pp\Desktop\dockerProject:/backup ubuntu tar cvf /backup/backup.tar /var/lib/postgresql/data
为了恢复卷,我使用了以下命令:
docker run -v dockerproject_postgresGobiData:/var/lib/postgresql/data --name dbstore2 ubuntu /bin/bash
接着
docker run --rm --volumes-from dbstore2 -v C:\Users\hp\Desktop\dockerProject:/backup ubuntu bash -c "cd /var/lib/postgresql/data && tar xvf /backup/backup.tar --strip 1"
然而,当我跑
'docker-compose up --detach'
以下是我的撰写文件:
version: '3'
services:
#agar gobidb nhi chaltaa hai to hum db kaa upyog kar sakte hai
gobidb:
image: postgres
restart: always
environment:
- POSTGRES_PASSWORD=yavdhesh
- POSTGRES_USER=yavdhesh
volumes:
- postgresGobiData:/var/lib/postgresql/data
ports:
- 8880:5432
adminer:
image: adminer
restart: always
ports:
- 8800:8080
#postgres:
# image: postgres # this will use httpd:latest
# environment:
# - POSTGRES_PASSWORD=example
# restart: always
# postgresGobiData:<space denaa aavashyak hai>{} ye rakhene se hum pehle se sthit volume kaa upyog kar paayenge
volumes:
postgresGobiData: {}
解决方案
脚步:
使用备份:
pg_dump -h localhost -U postgres shridhar -Fc > /backup/db.dump
并使用恢复:
pg_restore -d db_name /backup/dump_name.tar -c -U "shridhar"
推荐阅读
- javascript - 获取 ESLint:不必要的转义字符
- java - Java - 定义几个自定义异常而不重写每个异常(干)
- java - @ManyToOne 没有在 Child 表中保留 Parent FKey 列
- javascript - 如何处理对客户端反应应用程序的外部重定向?
- javascript - 为什么 .indexof() 返回 -1;当项目存在于给定数组中时?| 谷歌脚本
- mysql - MySQL 在另一个查询中使用查询
- symfony4 - 如何将 hydra apiplatform 文档转换为 Swagger 规范 (OAS3)?
- sql-server - 我的数据库中的数据显示为问号
- flutter - 在构建函数之外使用 BuildContext
- ruby-on-rails - 使用外键作为复合键的一部分