是否有可能将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
覆盖您的本地开发数据库。
不要使用'分贝:pull'。它已从文档中删除(Heroku Postgres)。使用'pgbackups'并从那里下载一个副本,或者自己使用'pg_dump'。 – catsby 2013-02-11 20:05:56
感谢您的注意。我已经使用了一段时间,它可能不再是最新的方式。 – 2013-02-11 20:22:10