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

Azure PostgreSQL弹性服务器备份恢复报错:未找到文件头魔术字符串

问题解答

错误原因说明

这个错误不是由备份与恢复的数据库名称不同导致的,核心问题是pg_restore命令的参数使用错误:

  • -d参数的作用是指定要恢复到的目标数据库名称,而非备份文件路径。你当前的命令把备份文件名放到了-d的位置,导致pg_restore误将该文件名当作数据库名去连接,根本没有读取到实际的备份文件,因此触发了"找不到文件头魔术字符串"的错误。

修正后的命令

假设你的备份文件实际名为testxxxx.sql(替换为你生成的真实备份文件名),且已经在Azure PostgreSQL弹性服务器上提前创建好目标数据库testbackup1669029901,正确的命令格式如下:

pg_restore -v --no-owner -h psqlflex-server.postgres.database.azure.com -U abc -Fc -j 4 -d testbackup1669029901 /path/to/your/test$date.sql

关键注意点:

  1. -d后紧跟的是目标数据库的名称,该数据库必须提前创建完成。
  2. 命令末尾的是备份文件的完整路径(如果文件在当前工作目录下,直接写文件名即可)。
  3. 确保Azure文件共享已正确挂载到虚拟机,且虚拟机对备份文件拥有读取权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:45:30