7

Heroku でホストされているマスター Postgres DB をラップトップのスレーブ DB に複製したいと考えています。これは可能ですか?

Heroku のドキュメントでは、Heroku 内でホストされているマスターとスレーブの両方について説明しています: https://devcenter.heroku.com/articles/heroku-postgres-follower-databases

他の誰かが、Heroku の外部にマスターを持ち、Heroku の内部にスレーブを持つことが可能かどうかを尋ねました (そうではありません): Heroku から外部データベースをフォローしてください

私は逆の答えを見たことがありません.Herokuにマスターがあり、外部にスレーブがあります。

なぜ私はこれが欲しいのですか?開発をスピードアップするため。アプリをローカルで実行し、DB をクラウドで実行すると、往復が長くなり、データ アクセスが遅くなります。ほとんどのデータ アクセスは読み取り専用です。ローカル スレーブがあれば、処理速度が大幅に向上します。

関連: ラップトップがしばらく接続されていない場合はどうなりますか? それはマスターに問題を引き起こしますか?

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

レーキ タスクを使用すると、これを高速化できます。

# 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 に答える