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

Windows下pg_dump备份PostgreSQL,Linux端pg_restore提示无效归档文件求助

解决Windows到Linux PostgreSQL迁移的pg_restore归档无效问题

问题根源在于Windows命令提示符的>重定向是文本模式,会自动转换换行符,破坏了pg_dump --format=c生成的二进制压缩归档文件,导致Linux端的pg_restore无法识别。Linux之间迁移正常是因为Linux的重定向默认采用二进制模式。

修复步骤:

  • 重新生成备份文件:放弃>重定向,改用pg_dump自带的-f参数指定输出文件,强制以二进制模式写入:
    pg_dump --format=c -U user localdbs -f file.pg.dump
    
  • 上传文件时启用二进制传输:用WinSCP、FileZilla等工具上传备份文件时,将传输模式设置为二进制,避免传输过程中修改文件内容。
  • 可选验证操作:在Windows本地先执行pg_restore --list file.pg.dump,如果能正常列出数据库表、函数等对象,说明备份文件有效,再上传至Linux执行恢复命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 01:25:37