Postgresql pg_restore:[archiver]输入文件太短postgres中出现错误

Postgresql pg_restore:[archiver]输入文件太短postgres中出现错误,postgresql,pg-restore,database-dump,Postgresql,Pg Restore,Database Dump,我正在尝试使用以下命令在本地系统中转储数据库: pg_restore --host=localhost --port=5432 --dbname=dev_db --no-owner --no-privileges db_dump_new.backup 但我得到了一个错误: pg_restore: [archiver] input file is too short (read 0, expected 5) 我做错了什么?我遇到了同样的错误。在我的例子中,我只是忽略了在命令末尾指定备份文件。在

我正在尝试使用以下命令在本地系统中转储数据库:

pg_restore --host=localhost --port=5432 --dbname=dev_db --no-owner --no-privileges db_dump_new.backup
但我得到了一个错误:

pg_restore: [archiver] input file is too short (read 0, expected 5)

我做错了什么?

我遇到了同样的错误。在我的例子中,我只是忽略了在命令末尾指定备份文件。

在我的例子中,我使用了docker

$ docker exec a5f7b094c523 pg_restore -d my_new_db < "./2256.dump"
pg_restore: [archiver] input file is too short (read 0, expected 5)
和导入sql转储文件

$ pv ~/2256.dump |docker-compose -f docker-compose.dev.yml -f docker-compose.override.yml -T db psql "fight-round3" 

如果您正在使用docker并从本地计算机重定向转储文件,请不要忘记
-i
。这行不通:

docker exec <container> pg_restore -U "$USER" < ./localfile.dump;

我最初的猜测是问题出在pg_转储上,而不是pg_恢复上。db_dump_new.backup文件有多大?由于丢失了多行bash脚本的``而导致了非常相同的错误…我得到了相同的错误,但我的转储文件是二进制的。有什么线索吗?
docker exec <container> pg_restore -U "$USER" < ./localfile.dump;
docker exec -i <container> pg_restore -U "$USER" < ./localfile.dump;