Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 在我的笔记本电脑上有可能将Heroku Postgres DB复制到从属DB吗?_Postgresql_Heroku_Replication - Fatal编程技术网

Postgresql 在我的笔记本电脑上有可能将Heroku Postgres DB复制到从属DB吗?

Postgresql 在我的笔记本电脑上有可能将Heroku Postgres DB复制到从属DB吗?,postgresql,heroku,replication,Postgresql,Heroku,Replication,我想让我的主Postgres数据库(托管在Heroku上)复制到我笔记本电脑上的从属数据库。这可能吗 Heroku的文档介绍了Heroku中托管的主服务器和从服务器: 还有人问,主人在希罗库外,奴隶在希罗库内是否可能(事实并非如此): 我还没有看到相反的答案——主人在希罗库,奴隶在外面 我为什么要这个?加快发展。由于我的应用程序在本地运行,数据库在云中运行,往返时间很长,因此数据访问速度很慢。大多数数据访问是只读的。如果我能有一个本地奴隶,它会大大加快速度 相关:如果我的笔记本电脑断开一段时

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

Heroku的文档介绍了Heroku中托管的主服务器和从服务器:

还有人问,主人在希罗库外,奴隶在希罗库内是否可能(事实并非如此):

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

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


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

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

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


如果您想在本地提取副本以供使用/检查,可以使用pgbackups:

为此,我强烈推荐该程序

它通过一个漂亮的命令行界面将上一次Heroku备份复制到本地计算机:


开发恢复生产

不要使用
db:pull
。它已从文档中删除(针对Heroku Postgres)。使用
pgbackups
并从那里下载副本,或者自己使用
pg_dump
。谢谢您的提示。我已经用了一段时间了,它可能不再是最流行的方式了。