7

我想让托管在 Heroku 上的主 Postgres 数据库复制到我笔记本电脑上的从属数据库。这可能吗?

Heroku 的文档讨论了 Heroku 中托管的 master 和 slave: https ://devcenter.heroku.com/articles/heroku-postgres-follower-databases

其他人问是否有可能在 Heroku 外部拥有主人,在 Heroku 内部拥有奴隶(不是): Follow external database from Heroku

我还没有看到相反的答案——主人在 Heroku,奴隶在外面。

我为什么要这个?加快发展。由于我的应用程序在本地运行并且数据库在云中,因此往返时间很长,因此数据访问速度很慢。大多数数据访问是只读的。如果我可以有一个本地奴隶,它会大大加快速度。

相关:如果我的笔记本电脑断开了一段时间怎么办?这会给主人带来麻烦吗?

4

3 回答 3

8

您不能在 Heroku 网络之外创建追随者(从属)——追随者需要超级用户访问权限才能创建,而 Heroku Postgres 不提供,因此您只能在 Heroku 上运行追随者。

如果你想在本地下载一个副本以供使用/检查,你可以使用 pgbackups 来做到这一点:https ://devcenter.heroku.com/articles/heroku-postgres-import-export

于 2013-02-11T20:04:12.437 回答
2

为此,我强烈推荐Parity程序。

它使用漂亮的命令行界面将最后一个 Heroku 备份复制到您的本地计算机:

development restore production

于 2015-09-14T18:18:20.023 回答
0

我宁愿时不时地从 Heroku 中提取生产数据库的内容。

$ heroku db:pull

您可以通过 rake 任务加快速度。

# lib/tasks/deployment.rake
namespace :production do
  desc 'Pull the production DB to the local env'
  task :pull_db do
    puts   'Pulling PRODUCTION db to local...'
    system 'heroku db:pull --remote MY_REMOTE_NAME --confirm MY_APP_NAME'
    puts   'Pulled production db to local'
  end
end

您可以调用rake production:pull_db以覆盖您的本地开发数据库。

于 2013-02-11T19:57:26.413 回答