是否有可能将Heroku Postgres DB复制到笔记本电脑上的从属数据库?

问题描述:

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

Heroku的有关主机和从机内的Heroku托管文档会谈: https://devcenter.heroku.com/articles/heroku-postgres-follower-databases

别人问及是否有可能有Heroku的外部主机和内部Heroku的奴隶(它不是): Follow external database from Heroku

我没有看到相反的答案 - 让Heroku的主人和奴隶在外面。

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

相关:如果我的笔记本电脑断开一段时间会怎么样?这会对主人造成问题吗?

你不能在Heroku网络之外建立一个追随者(奴隶) - 追随者需要超级用户访问才能创建,Heroku Postgres不提供给你,所以你仅限于在Heroku上运行追随者。

如果要在本地拉下副本,以便/检查,你可以用pgbackups这样做:https://devcenter.heroku.com/articles/heroku-postgres-import-export

我宁愿只是不时从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覆盖您的本地开发数据库。

+1

不要使用'分贝:pull'。它已从文档中删除(Heroku Postgres)。使用'pgbackups'并从那里下载一个副本,或者自己使用'pg_dump'。 – catsby 2013-02-11 20:05:56

+0

感谢您的注意。我已经使用了一段时间,它可能不再是最新的方式。 – 2013-02-11 20:22:10

我会强烈建议方案Parity这一点。

它复制下来,最后的Heroku备份到本地计算机,一个不错的命令行界面:

development restore production