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

Azure Postgres执行pg_restore时提示找不到容器内dump文件如何处理

根本原因

pg_restore 工具本身不支持直接读取远程HTTP/HTTPS链接的dump文件,它仅能读取本地文件系统内的文件路径。你直接传入Azure Blob容器的访问URL时,工具会将该URL识别为本地文件路径去查找,Cloud Shell本地没有对应路径的文件,自然会返回找不到文件的错误。

正确操作步骤
  • 第一步:先将容器内的dump文件下载到Cloud Shell的本地临时目录,PowerShell环境下使用Invoke-WebRequest命令即可:
Invoke-WebRequest -Uri "<替换为你的容器文件访问URL>" -OutFile "./pg_backup.dump"

如果你的Blob容器为私有访问权限,需要确保传入的URL带有效SAS令牌,否则会下载失败。

  • 第二步:使用下载后的本地文件路径执行pg_restore命令,参考示例:
pg_restore -v --no-owner --host=<替换为你的PG服务器名>.postgres.database.azure.com --port=5432 --username=user@<替换为你的PG服务器名> --dbname=<替换为目标库名> ./pg_backup.dump

额外注意:你原命令中的--host参数错误添加了user@前缀,host参数仅需填写PostgreSQL服务器的域名即可,不需要带用户名前缀,否则后续连接数据库时会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:39:03