我正试图用PGBUBUP从现有的数据库迁移到一个新的应用程序,但是我遇到了一些问题。我已经阅读了heroku的开发站点上的文档,但仍然有错误。
我已经为两个数据库安装了插件,我可以成功地转到源数据库并复制/捕获它。
$ heroku pgbackups:capture -a costrecovery --expire
HEROKU_POSTGRESQL_ONYX_URL (DATABASE_URL) ----backup---> b007
←[0KCapturing... doneB -
←[0KStoring... done
然后我切换到要将db复制到的应用程序的目录,并按照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/[email protected]/b
007.dump?AWSAccessKe
> yId=AKIAJFDIRYCGYNFXR4FQ&Expires=1365184330&Signature=po0wZ982Jbx%2Fkv0bKk0iv
P%2
> FRWac%3D"
! Resource not found
有人能帮我用正确的语法吗?
谢谢
最佳答案
pgbackups可以从同一应用程序上的数据库还原,也可以从任何pgbackups URL还原,如中所示,即从源应用程序/数据库中捕获的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