💽

Heroku Postgres から Render.com PostgreSQL への移行メモ

2022/12/16に公開

最近、Heroku Postgresの無料プランが終了したこともあって、HerokuからRender.comに移行しました。
その際、移行ツールのエラーで嵌まったこともあり、通常のRender.com Blueprintによる構築を行い、データベースは別途手動でコピーしました。

  1. Heroku Postgresのバックアップのダウンロード
  2. Render.com PostgreSQLのアクセスコントロール設定
  3. pg_restore でRender.com PostgreSQLにレストア

1. Heroku Postgresのバックアップのダウンロード

Heroku Postgresのアドオン画面にアクセスしてバックアップを作成、ダウンロードしするか、heroku cliでも取得できます。

2. Render.com PostgreSQLのアクセスコントロール設定

Render.comのPostgreSQL画面にアクセスして、アクセスコントロールで作業環境のIPアドレスのみ許可するようにします。

3. pg_restore でRender.com PostgreSQLにレストア

External Database URLを確認すると、 postgres://<username>:<password>@<hostname>/<dbname> の形式のURLが確認できるので、この情報を使って pg_restore でHeroku Postgresから取得したダンプデータを復元します。

$ apt-get install -y postgresql-client
$ pg_restore --verbose --clean --no-acl --no-owner -h <hostname> -U <username> -d <dbname> <ダンプファイル名>
pg_restore: connecting to database for restore
Password: 
タケユー・ウェブ株式会社

Discussion