You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DBeaver备份恢复PostgreSQL时遇pg_restore错误求助

PostgreSQL备份恢复错误pg_restore: error: did not find magic string in file header排查方案
  • 备份格式与恢复工具不匹配:你在DBeaver中如果选择的是纯SQL脚本备份(导出为.sql文本文件),但恢复时用了pg_restore工具(该工具仅支持PostgreSQL自定义/归档格式的二进制备份文件,比如.dump/.backup),就会触发这个错误。检查备份设置:DBeaver备份向导里要区分“SQL导出”和“PostgreSQL原生备份(调用pg_dump)”两种模式,后者才会生成pg_restore可识别的文件。

  • 备份文件损坏/不完整:备份过程中如果中断(比如DBeaver意外关闭、网络中断),会导致文件缺失PostgreSQL备份文件特有的头部魔法标识PGDMP。可以直接打开备份文件验证:二进制备份文件开头是PGDMP(二进制编码,文本编辑器打开可能显示乱码但开头能看到该字符串),SQL脚本则以CREATE等SQL语句开头。

  • 恢复操作选错模式:如果备份是SQL脚本,恢复时应该用psql命令(psql -d 目标数据库名 -f 备份文件.sql)或DBeaver的“SQL导入”功能,而不是调用pg_restore的恢复模式。

  • 版本不兼容:备份使用的pg_dump版本与恢复使用的pg_restore版本差距过大(比如高版本备份低版本恢复),会导致格式识别失败。执行pg_dump --version和pg_restore --version检查版本是否一致。

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 23:42:07