![](/img/trans.png)
[英]How to restore postgres 12 generated sql file into postgres 9.6 database
[英]Docker unable to restore postgres database sql file
我已按照以下过程备份我的数据库文件。
图片1:
图 2:
单击备份后,我得到一个名为resetmarathon_db.sql
的文件
然后我将此文件存储在我的项目/数据库目录中
在docker-compose.yml
文件中,我使用了如下示例所示的音量
volumes:
- ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql
这是用于 postgres 的 docker-compose.yml 文件的完整部分
resetmarathon_db:
container_name: resetmarathon_db
environment:
POSTGRES_DB: resetmarathon_db
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
image: postgres:latest
hostname: resetmarathon_db
restart: unless-stopped
networks:
- resetmarathon-network
volumes:
- ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql
构建后,我只得到没有任何表的数据库表名。
如何恢复我的 sql 文件?
我的文件和文件夹结构
您需要在执行脚本之前创建数据库
这是一个创建数据库脚本,您可以将其保存为文件init_dbScript.sql
DROP DATABASE IF EXISTS resetmarathon_db;
CREATE DATABASE resetmarathon_db;
然后将其卷起来并确保它将在您的脚本之前执行。
volumes:
- ./DB/resetmarathon_db.sql:/docker-entrypoint-initdb.d/resetmarathon_db.sql
- ./DB/init_dbScript.sql:/docker-entrypoint-initdb.d/init_dbScript.sql
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.