pg_restore: [archiver] input file is too short error in postgres

the_unknown_spirit picture the_unknown_spirit · Apr 7, 2016 · Viewed 11.2k times · Source

I am trying to dump the database in my local system by using the command :

pg_restore --host=localhost --port=5432 --dbname=dev_db --no-owner --no-privileges db_dump_new.backup

but I am getting the error :

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

What am I doing wrong?

Answer

lmat - Reinstate Monica picture lmat - Reinstate Monica · Jan 8, 2020

If you're using docker and redirecting the dump file from your local machine, don't forget -i. This won't work:

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

Be sure that the docker container can see standard in with the -i option! This should work:

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