HerokuのアプリにPostgreSQLを導入し接続してみる

heroku-postgresql
  • URLをコピーしました!

こんにちはちゆりです。

今回はいよいよHerokuのアプリケーションにPostgreSQLを導入しようと思います。

Herokuとはなんぞや?

そもそもHerokuへのデプロイ方法を教えてくれ

という方は以下の記事から

目次

Heroku CLIからPostgreSQLを導入します

HerokuへのPosygreSQLの導入はHerokuの管理画面からでも可能です。そちらのほうがわかりやすいかと思います。

しかし,管理画面からの導入はググれば山ほど方法が出てきますので改まって僕がこの記事で説明することでもないのかな...と思います。

ちなみに僕はターミナルを使って作業をするほうが効率もよく好きなので今回はターミナルからの操作を中心に説明していきます。(慣れればこっちのほうが簡単...!?)

では,さっそくherokuのアプリがあるディレクトリへ移動し,ターミナルにて以下を入力

$ heroku addons:create heroku-postgresql:hobby-dev

これで導入できます。

エラーの解決(エラーの場合)

以下のエラーが出る場合があります。(僕も出ました)

›   Error: Missing required flag:
›     -a, --app APP  app to run command against
›   See more help with --help

-a オプションアプリ名を選択してあげれば解決しました。

$ heroku addons:create heroku-postgresql:hobby-dev -a <heroku アプリ名>

DBが作成されるとこのように出力されます。

Created postgresql-<xxxxxx> as DATABASE_URL

PostgreSQLが作成されたのか確認

一応PostgreSQLが作成されたか確認しておきましょう。

$ heroku pg:info -a <heroku アプリ名>

pg(PostgreSQL)情報がズラッと出てきます。

=== DATABASE_URL
Plan:                  Hobby-dev
Status:                Available
Connections:           0/20
PG Version:            11.2
Created:               2019-05-12 07:16 UTC
Data Size:             7.7 MB
Tables:                0
Rows:                  0/10000 (In compliance)
Fork/Follow:           Unsupported
Rollback:              Unsupported
Continuous Protection: Off
Add-on:                postgresql-<xxxxxx>

PlanがHobby-devであれば無料枠で利用可能です。

書き込み可能行数:1 万
同時接続数:20
1 か月あたりのダウンタイム:最大 4 時間
Heroku CLI 経由のアクセス
PGBackups:2 つまで保持可能
Dataclips
ロールバック:0 秒
メモリキャッシュできない等

個人の開発程度であれば十分運用可能な制限ですね。(ちなみに僕もまだHerokuへの課金は行っていない)

ローカルからherokuのPostgreSQLへ接続

ローカル(terminal)からPostgreSQLへ接続するのは以下のコマンドとなります。

$ heroku pg:psql -a <herokuアプリ名>

<herokuアプリ名>::DATABASE=> 

が表示されればアクセス成功です。

postgreSQLコマンドで操作していきましょう。

また,データベースから抜ける場合は「\q」でOKです。

(MySQLを普段使っている僕はついつい「exit」を打っていた。。)

エラーの解決法(エラーの場合)

ローカルにpsql(PostgreSql)コマンドが入っていないとエラーとなります。

$ brew install postgresql

または,

$ sudo apt-get install postgresql

でPostgreSQL をMacにインストールすれば解決です。

postgresqlがうまく起動出来ない場合は以下の記事を参考に

DATABASE_URLの取得

WebアプリからDB(今回の場合はPostgreSQL)へ接続する場合はDATABASE_URLをコード内に記述する必要があるかと思います。

その場合は

$ heroku config -a <herokuアプリ名>

で取得可能となります。

 

以上でHerokuへのPostgreSQLの導入は完了です。

CLIを使うと単純で,すばやく導入できますね。CLIで作成したデータベース情報もHerokuの管理画面で確認することができます。

ちなみに

僕も本格的にHerokuでシステムを運用するために,今後はPostgreSQLを使って構築していこうと思います。その中でのノウハウやつまずいたポイントを共有して記事にしていこうと思いますのでお楽しみに。

heroku-postgresql

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次