Heroku Postgres のプロビジョニング
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2024年05月16日(木)
Table of Contents
プロビジョニングする前に
Heroku Postgres をプロビジョニングする前に、それがまだアプリに対してプロビジョニングされていないことを確認します。2023 年 5 月 15 日より前にアカウントを作成した場合、または アカウントの自動プロビジョニングを有効にするように Heroku サポートに依頼した場合、Heroku は特定のライブラリを含むアプリに Postgres を自動的にプロビジョニングします。
heroku addons
コマンドを使用して、アプリがすでに Heroku Postgres をプロビジョニングしているかどうかを判定します。
$ heroku addons
Add-on Plan Price State
─────────────────────────────────────────────────── ─────────── ──────── ───────
heroku-postgresql (postgresql-concave-52656) essential-0 $5/month created
アドオンをプロビジョニングする
heroku-postgresql
に、アプリのアドオンリストが表示されていない場合は、次の CLI コマンドでプロビジョニングできます。
$ heroku addons:create heroku-postgresql:<PLAN_NAME>
たとえば、Essential-0 プランデータベースをプロビジョニングするには、次のようにします。
$ heroku addons:create heroku-postgresql:essential-0
Creating heroku-postgresql:essential-0 on ⬢ example-app... ~$0.007/hour (max $5/month)
Database should be available soon
postgresql-concave-52656 is being created in the background. The app will restart when complete...
Use heroku addons:info postgresql-concave-52656 to check creation progress
Use heroku addons:docs heroku-postgresql to view documentation
プロビジョニングコマンドに --version
フラグを含めることで、プロビジョニングする Postgres のバージョンを指定できます。
$ heroku addons:create heroku-postgresql:<PLAN_NAME> --version=12
PostgreSQL バージョンのサポートの詳細を確認してください。
選択したプランに応じて、データベースは使用可能になるまでに最長 5 分かかることがあります。heroku pg:wait
コマンドでステータスを追跡できます。このコマンドは、データベースが使用できるようになるまでブロックします。
アプリケーションの環境設定
プロビジョニングプロセスの一部として、DATABASE_URL
環境設定がアプリの設定に追加されます。DATABASE_URL
には、アプリがデータベースにアクセスために使用する URL が含まれています。アプリにすでに Heroku Postgres データベースがあり、別のものをプロビジョニングしている場合は、この環境設定の名前が代わりに HEROKU_POSTGRESQL_<COLOR>_URL
(HEROKU_POSTGRESQL_YELLOW_URL
など) という形式になります。
heroku config
コマンドで、アプリの環境設定の名前および値を確認できます。
アプリの DATABASE_URL
環境設定の値は、いつでも変化する可能性があります。
Heroku アプリの内部または外部のどちらでも、この値に依存しないでください。
この時点で、空の PostgreSQL がプロビジョニングされます。既存のデータソースからデータを入力するには、インポート手順を参照するか、この記事の言語固有の手順に従って、アプリケーションから接続してください。
次のステップ
Postgres データベースに接続する方法についての詳細は、「Heroku Postgres への接続」を参照してください。