PostgreSQL备份恢复失败:pg_restore提示输入文件过短,求解决
Heroku PostgreSQL备份本地恢复失败的解决方案
问题根源
报错pg_restore: error: input file is too short (read 0, expected 5)直接指向你使用的latest.dump文件为空或损坏,这是导致恢复失败的核心原因。
排查修复步骤
检查备份文件完整性
查看latest.dump的文件大小,若为0字节,说明备份文件无效,需重新从Heroku导出。正确导出命令:heroku pg:backups:download -a 你的Heroku应用名称确保下载过程网络稳定,无中断。
验证备份文件格式
Heroku导出的是PostgreSQL自定义格式备份,可通过以下命令检查文件头部标识:head -c 5 latest.dump正常输出应为
PGDMP,若不是则文件损坏,需重新导出。修正恢复命令路径
若latest.dump不在当前CMD工作目录,需指定完整绝对路径,示例:pg_restore --verbose --clean --no-acl --no-owner -h localhost -U nafuser -d naf "C:\Users\你的用户名\Downloads\latest.dump"pgAdmin操作要点
在pgAdmin中恢复时,需选择「自定义或tar」格式选项,同时确认选中的文件路径正确,未指向空文件或错误文件。
内容的提问来源于stack exchange,提问作者Haris Gul
相关产品推荐
相关产品推荐

