Heroku Postgres のローカル設定
この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。
最終更新日 2023年05月16日(火)
Table of Contents
Heroku では、Postgres をローカルで実行して環境間でのパリティを確保することをお勧めします。ローカル環境で PostgreSQL をインストールするための複数の事前にパッケージ化されたインストーラーがあります。
Postgres がインストールされ、接続できるようになったら、アプリがローカルでの実行時にそこに接続できるように、DATABASE_URL
環境変数をエクスポートする必要があります。
-- for Mac and Linux
$ export DATABASE_URL=postgres://$(whoami)
-- for Windows
$ set DATABASE_URL=postgres://$(whoami)
Postgres は (インストールの一部として設定されている) ユーザーアカウント名に一致するローカルデータベースに接続します。
Postgres on Mac の設定
Postgres.app は Mac OS 10.7 以上を必要とします。
- Postgres.app をインストールし、設定手順に従います。
- Postgres CLI ツールをインストールします。
- 新しいターミナルウィンドウを開いて、変更内容が保存されたことを確認します。
- 正しく機能したことを確かめます。OS X バージョンの
psql
は、Postgres.app
ディレクトリを含むパスを指している必要があります。
バージョン 10 を使用している場合、出力は次のようになります。
$ which psql
/Applications/Postgres.app/Contents/Versions/latest/bin/psql
次のコマンドは正しく機能します。
$ createdb
$ psql -h localhost
psql (10.14)
Type "help" for help.
=# \q
アプリがログイン時に自動的に開始するように設定されていることも確認します。
PostgreSQL には、pg_dump
や pg_restore
を含む、いくつかの有効なバイナリが付属しています。これらをどのターミナルセッションでも使用できるようにするには、Postgres.app に付属している /bin
ディレクトリを PATH に (できれば .profile
、.bashrc
、.zshrc
などに) 追加します。
PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
Postgres on Windows の設定
Windows インストーラーを使用して、Postgres on Windows をインストールします。
必ず、Postgres インストールの bin
ディレクトリを追加するように、PATH 環境変数を更新してください。このディレクトリは C:\Program Files\PostgreSQL\<VERSION>\bin
と同様です。heroku pg:psql
などのコマンドは PATH に依存し、PATH が正しくない場合は機能しません。
Postgres on Linux の設定
パッケージマネージャから Postgres をインストールします。使用する実際のパッケージマネージャーコマンドは、ディストリビューションによって異なります。次は、Ubuntu、Debian、その他の Debian から派生したディストリビューションで機能します。
$ sudo apt-get install postgresql
ディストリビューションにパッケージマネージャーがないか、または Postgres パッケージを使用できない場合は、いずれかの汎用インストーラを使用して Linux に Postgres をインストールします。
psql
クライアントは通常、/usr/bin
にインストールされます。
$ which psql
/usr/bin/psql
次のコマンドは正しく機能します。
$ psql
psql (9.3.5)
Type "help" for help.
maciek# \q