Heroku上でアプリ開発する際に無償で利用できる(制限あり)RDBMSである
Heroku Postgresの導入についてご紹介します。
Heroku Postgresとはなんぞや?
Heroku Postgresは名前から想像できる通りHeroku上でPosgresSQLが使えるサービスです。
Herokuのaddonとして提供されています。https://jp.heroku.com/postgres
料金プランは細かく分かれています。Hobby Devプランはレコード件数1万件の制限付きですが、無料で利用することができます。その上のHobby Basicになると月$9の料金で1,000万件まで上限があがります。お遊びで利用するなら1万件で十分なので、Hobby Devプランを今回は利用します
Heroku PosgreSQL利用開始まで
※ここからはHerokuの登録が完了している前提となります。まだの方はこちらを参照してください。
HerokuダッシュボードのResourcesタブをクリックし、Find more add-onsボタンをクリックします。

アドオン一覧が表示されるので、その中からHeroku Postgresをクリックします。

右側のInstall Heroku Postgresボタンをクリックします。

Online Oeder Form画面に遷移するのでAdd-on planでHobby Dev-Freeを選択、App to provision toにアドオン導入先のアプリ名を入力してSubmit Order Formをクリックします。


インストール完了後、Overviewタグをクリックし、Installed add-onsでインストールされたことを
確認できます。
ここにheroku CLIでログインする際のDB名が書いてあるのでメモっておきます。

Heroku Postgresに接続してみる
※ここからはお使いのパソコンにPostgreSQLのインストールが完了している前提となります。まだの方はこちらを参照してください。
heroku pg:psql 【DB名】 –app 【herokuのアプリ名】で接続できるので早速やってみましょう。
PowerShellを立ち上げ、コマンドを入力します。
※以降、 〇〇〇〇〇 はDB名、 ××××× はアプリ名に読み替えてください。
PS C:\Users\User> heroku pg:psql 〇〇〇〇〇 --app ×××××認証のためブラウザが立ち上がるのでユーザ名とパスワードを入力しログインします。
PS C:\Users\User> heroku pg:psql 〇〇〇〇〇 --app ×××××
! Invalid credentials provided.
heroku: Press any key to open up the browser to login or q to exit:
Opening browser to https://cli-auth.heroku.com/auth/cli/browser/2bc184e5-4151-xxxx-9456-9b9fxxxx18ea?requestor=SFMyNTY.g2gDbQAAAA0xNTMuxxxxxQuMTQ0bgYAgCj5RHwBxxxxYA.r4JS4KXNv_1W_VJEcScUcbNgX4a50xxxxhanI6h1tHY
Logging in... done
Logged in as xxxxxxxxx@xxxx.com
--> Connecting to 〇〇〇〇〇
psql (13.3、サーバ 13.4 (Ubuntu 13.4-1.pgdg20.04+1))
SSL 接続 (プロトコル: TLSv1.3、暗号化方式: TLS_AES_256_GCM_SHA384、ビット長: 256、圧縮: オフ)
"help"でヘルプを表示します。
×××××::DATABASE=>
Heroku Postgresに接続できました。
ここからはpsqlのコマンドが使えます。
試しにテーブルを作成し、レコードを追加してみましょう。
×××××::DATABASE=> create table newtable1 (id int, name varchar(10));
CREATE TABLE
×××××::DATABASE=> insert into newtable1(id,name) values (1,'tanupapa');
INSERT 0 1
×××××::DATABASE=> select * from newtable1;
id | name
----+----------
1 | tanupapa
(1 行)ローカルのPostgreSQLと同じように使えます。






コメント