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

如何将PostgreSQL数据库从Heroku迁移至Railway?恢复遇错求助

Heroku PostgreSQL 迁移至 Railway 解决备份损坏问题

错误原因

你遇到的pg_restore: error: corrupt tar header found in PGDMP错误,大多是因为Heroku生成的备份文件并非标准tar格式,或者下载过程中文件损坏,直接用pg_restore读取会失败。

可行解决方案

方案一:直接用pg_dump转储(推荐)

跳过Heroku的备份工具,直接从Heroku数据库导出数据:

  • 获取Heroku数据库的连接字符串:
    heroku pg:credentials:url --app APP_NAME
    
  • 用pg_dump将数据导出为SQL文件:
    pg_dump HEROKU_DATABASE_URL -f heroku_dump.sql
    
  • 导入到Railway数据库:
    先获取Railway的PostgreSQL连接字符串,再执行:
    psql RAILWAY_DATABASE_URL -f heroku_dump.sql
    

方案二:修复已下载的Heroku备份文件

如果已经下载了备份文件,先检查是否为压缩格式:

  • 查看文件类型:
    file latest.dump
    
  • 如果显示是gzip压缩文件,先解压:
    gzip -d latest.dump
    
  • 再用pg_restore导入到Railway:
    pg_restore -d RAILWAY_DATABASE_URL latest.dump
    

注意事项

  • 确保本地安装的pg_dump/pg_restore版本,与Heroku、Railway使用的PostgreSQL版本尽量一致,避免版本不兼容导致的问题。
  • 导入前可以先清空Railway数据库中的现有数据(如果需要),避免冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:57:36