将PostgreSQL数据库从Heroku迁移到Railway

7ivaypg9  于 2022-11-13  发布在  PostgreSQL
关注(0)|答案(1)|浏览(160)

我正在试图找出如何轻松地将我的PostgreSQL数据库从Heroku迁移到Railway。我已经尝试过将heroku pg:backups:capture --app APP_NAMEheroku pg:backups:downloadpg_restore一起使用,但没有成功。
我有错误

pg_restore: error: corrupt tar header found in PGDMP (expected 0, computed 19471) file position 512
ds97pgxw

ds97pgxw1#

TL;DR:

heroku login
heroku run 'pg_dump $DATABASE_URL' > <filename.sql> --app <heroku-app-name>
PGPASSWORD=$PGPASSWORD psql -h $PGHOST -U $PGUSER -p $PGPORT -d $PGDATABASE -f <filename.sql>

详细数据:

如果您在运行heroku login后成功登录,则会从Heroku环境中读取$DATABASE_URL,因此无需手动插入数据库url。
<filename.sql>:指定您喜欢的任何文件名。您稍后将使用它来导入数据库。
<heroku-app-name>:Postgres数据库中Heroku(后端)应用程序的名称。
在您的铁路项目中提供一个新的PostgreSQL数据库,并从“变量”选项卡中获取$PGPASSWORD$PGHOST$PGUSER$PGPORT$PGDATABASE
这是它应该看起来的样子

示例(使用虚拟凭据):

heroku login
heroku run 'pg_dump $DATABASE_URL' > mydatabasebackup.sql --app my-heroku-backend
PGPASSWORD=hjUasj8hasA6ahsjJash -h containers-us-west-15.railway.app -U postgres  -p 6473 -W -F t -d railway mydatabasebackup.sql

相关问题