pg_restore:[自定义存档器] 无法从输入文件读取:文件末尾



我有一个生产数据库的转储,我可以使用以下方法在我的 docker 容器中轻松恢复它:docker exec -it my_db_container pg_restore --user=my_user --dbname=dbname sql/current.dump.一切正常,数据就在这里。

但是当我将我的本地数据库从 docker 中重新转储回docker exec -it my_db_container -U my-user -F c -b dbname > docker/db/current_stripped.dump项目文件夹时,我的转储文件被创建(具有适当的大小和内容(,但由于错误,我无法使用它再次将其还原(docker exec -it whasq-db pg_restore --user=my-user --dbname=dbname sql/current_stripped.dump(到新的数据库:pg_restore: [custom archiver] could not read from input file: end of file但是还原命令与生产环境中使用的相同(生产中的my_user除外(。

我遇到了同样的问题,并按如下方式解决了它。我切换到-f--file选项而不是管道(取自 https://stackoverflow.com/a/51073680/6593069(。我在容器内创建了转储文件,然后将其复制到我的主机。

这意味着在您的情况下:

docker exec -it my_db_container -U my-user -F c -b dbname -f current_stripped.dump
docker cp my_db_container:current_stripped.dump .

相关内容

  • 没有找到相关文章

最新更新