postgresql – 如何使用pgbackups将生产数据库转移到Heroku上的
在Heroku,我试图使用pgbackups插件将生产数据库复制到我的临时应用程序。我按照插件页面上的说明:
https://devcenter.heroku.com/articles/pgbackups
首先我捕获了DB: heroku pgbackups:capture --app production-app 这工作: HEROKU_POSTGRESQL_PURPLE (DATABASE_URL) ----backup---> b238 Capturing... done Storing... done 但是,当我尝试在临时应用程序恢复它: heroku pgbackups:restore DATABASE `heroku pgbackups:url --app production-app` --remote staging 我得到以下错误消息: DATABASE_URL does not match any of your databases ! Could not resolve database DATABASE ! ! Available databases: 我也试过输入完整的网址: heroku pgbackups:url b238 --app production-app heroku pgbackups:restore DATABASE "https://s3.amazonaws.com/..." --remote staging 并尝试命名应用程序(而不是–remote staging): heroku pgbackups:restore DATABASE `heroku pgbackups:url --app production-app` --app staging-app 没有一个工作。有趣的是,错误消息表明没有“可用数据库”。我假设它是指的分段应用程序是确实为空。如果我键入: heroku pgbackups 我得到: ! No backups. Capture one with `heroku pgbackups:capture`. 要找到可用的备份(生产),我需要键入: heroku pgbackups --app production-app 我得到当前备份的列表。我不知道这是否正常,即使它是与问题有关,但我认为我应该提一下。 我已阅读并尝试每一个答案在这里,但没有工作。有任何想法吗?
2015年中更新…
pgbackups附加组件已被弃用。没有更多pgbackups:转移。 要将数据库从yourapp(数据库名称:HEROKU_POSTGRESQL_PINK_URL)复制到yourapp_staging(数据库名称:HEROKU_POSTGRESQL_WHITE_URL) # turn off the web dynos in staging heroku maintenance:on -a yourapp-staging # if you have non-web-dynos,do them too heroku ps:scale worker=0 -a yourapp-staging # backup the staging database if you are paranoid like me (optional) heroku pg:backups capture -a yourapp-staging # execute the copy heroku pg:copy yourapp::HEROKU_POSTGRESQL_PINK_URL HEROKU_POSTGRESQL_WHITE_URL -a yourapp-staging 然后当它完成后,重新开始分期: # this is if you have workers,change '1' to whatever heroku ps:scale worker=1 -a yourapp-staging heroku maintenance:off -a yourapp-staging 提醒:您可以使用heroku pg:info -a yourapp-staging(和yourapp)来获取数据库名称 – 查看第一行,在===之后。 (来源:https://devcenter.heroku.com/articles/upgrading-heroku-postgres-databases#upgrade-with-pg-copy-default) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |