【发布时间】:2021-05-27 20:10:25
【问题描述】:
我使用以下命令备份了一个 PostgreSql 数据库并创建了一个 sql 文件:
cmd /c 'docker exec -t <container-name> pg_dump <db_name> -U postgres -c
-v > C:\\backup\\<db_name>.sql'
但是,我无法使用以下命令恢复 sql 备份文件:
首先我删除并创建一个空数据库:
docker exec <container-name> bash -c "dropdb -U postgres <db_name>"
docker exec <container-name> bash -c "createdb -U postgres <db_name>"
然后恢复:
cmd /c "docker exec -i <container-name> pg_restore -C -U postgres -d
<db_name> -v < C:\\<db_name>.sql"
给出“pg_restore:错误:输入文件似乎不是有效的存档”错误。所以,
1.如何用sql文件恢复数据库?
2.如何在 Windows 上的 Docker 中备份 PostgreSql 数据库?
【问题讨论】:
标签: windows postgresql docker