Heroku Postgres でレプリカを作成する

#Dev
#Heroku
#Postgres

Heroku Postgres でレプリケーションを作成したい場合、以下の方法が考えられる。

  1. Follower を作成する
  2. Fork を作成する
  3. Heroku Postgres を Export/Import する

1. Follower を作成する

アプリケーションを跨いで follower を作成することが可能。例えば本番でしか発生しない事象の調査をしたいケースなどに、検証環境のアプリケーションに follower を作成して検証ができる。ただし、 read-only copy となり INSERT などの操作は行えない。

手順は Heroku Postgres Follower Databases に記載されている。

2. Fork を作成する

Database に対して INSERTUPDATE を行う必要が場合 Fork の作成が考えられる。ただし、データベース内のレコードは dump を作成したタイミングのものとなり、それ以降に本番環境に加えられた変更は追従しない。

手順は Forking Your Heroku Postgres Database に記載されている。

3. Heroku Postgres を Export/Import する

Follower Databases や Fork を作成できるのは Standard 以上のプランが必要となる。Hobby を利用している場合は、事前にプランのアップグレードが必要となる。個人開発などでお金をかけられない場合、 PG Backups を作成し restore する方法が考えられる。ただし、こちらも Fork を作成した場合と同様、レコードは dump を作成したタイミングのものとなる。

手順は Importing and Exporting Heroku Postgres Databases に記載されている。