4

我正在尝试使用 pgbackups 将数据库从现有应用程序迁移到新应用程序,但我遇到了问题。我已经阅读了 heroku 开发网站上的文档,但我仍然遇到错误。

我已经为两个数据库安装了插件,我可以成功地转到我的源数据库并复制/捕获它。

$ heroku pgbackups:capture -a costrecovery --expire

HEROKU_POSTGRESQL_ONYX_URL (DATABASE_URL)  ----backup--->  b007

←[0KCapturing... doneB -
←[0KStoring... done

然后我切换到我想要将数据库复制到的应用程序的目录,并按照 heroku 列出的说明进行操作。问题是我不知道它是否不起作用,因为它们是一个错误,或者是因为我没有正确解释指令,这是完全可能的。首先,我将列出 heroku 开发站点的说明,然后列出我尝试过的命令。

HEROKUS 说明

$ heroku pgbackups:restore DATABASE -a target-app \
    `heroku pgbackups:url -a source-app`

我尝试过的命令

$ heroku pgbackups:restore DATABASE_URL -a boiling-reef-2060 \
> heroku pgbackups:url -a costrecovery
!    Backup not found


$ heroku pgbackups:restore HEROKU_POSTGRESQL_GREEN_URL -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ heroku pgbackups:restore DATABASE -a boiling-reef-2060 \
> 'heroku pgbackups:url -a costrecovery'
!    Backup not found


$ heroku pgbackups:restore DATABASE_URL -a costrecovery-copy2 \
> heroku pgbackups:"https://s3.amazonaws.com/hkpgbackups/app405411@heroku.com/b
007.dump?AWSAccessKe
> yId=AKIAJFDIRYCGYNFXR4FQ&Expires=1365184330&Signature=po0wZ982Jbx%2Fkv0bKk0iv
P%2
> FRWac%3D"
!    Resource not found

有人可以用正确的语法帮助我吗?谢谢

4

1 回答 1

5

pgbackups 可以从同一个应用程序上的数据库或任何 pgbackups URL 中恢复,例如您在源应用程序/数据库中捕获的那个。说明使用反引号 (`) 从源应用程序中提取和获取 pgbackups URL。pgbackups:url 命令将提供这样一个 URL。尝试运行它,以了解发生了什么:

heroku pgbackups:url -a costrecovery

(假设 costrecovery 是您捕获数据的位置)。

知道了这一点,您应该能够简单地运行:

heroku pgbackups:restore DATABASE_URL --app boiling-reef-2060 `heroku pgbackups:url --app costrecovery
于 2013-04-08T20:38:24.050 回答