Heroku Postgresをローカル環境から手動で操作する方法について
1,はじめに
皆さんは、PaaSとして有名なHerokuをご存じだろうか?
Herokuには、SQLサーバーが用意されている。
それは、PostgreSQL をチューニングしたHeroku Postgresというアドオンである。
DBを使用する際に、やはり直接SQLを手動で実行したい場合がある。
そこで、本稿ではHeroku PostgresのDBを手動で変更する方法について記載する。
2,Heroku Postgresへのアクセス方法
(1)前提条件
Heroku CLIを用いてDBにアクセスを行う。
筆者の環境は下記の通りである。
R:\>heroku --version
heroku/7.19.4 win32-x86 node-v11.3.0
(2)手順
DBへのアクセスは、①DB接続情報の取得、②接続の2ステップにより行う。
(ア)DB接続情報の取得
下記のようにコマンドを実行し、DBへの接続情報を取得する。
R:\>heroku pg:credentials:url --app [APP-NAME]
Connection information for default credential.
Connection info string:
"dbname=HOGEHOGE host=FUGAFUGA.amazonaws.com port=5432 user=XXXX password=XXXX sslmode=require"
Connection URL:
postgres://USER-NAME:PASS@HOST:5432/DBNAME
以上のように、接続情報を確認したら、実際に接続を行う。
(イ)DBへ接続、その前に
DBへ接続するにあたり、 PostgreSQL がローカル環境にインストールされていることが必要である。
この時点で、PostgreSQL をインストールしていなかった場合は、Herokuのサイトの記載に従い、ver 10あたりをインストールするとよい。
もちろん筆者はPostgreSQLをインストールし忘れていたため、下記の通り言われた。
R:\>heroku pg:psql -a [APP-NAME]
--> Connecting to postgresql-rugged-XXXXX
! The local psql command could not be located. For help installing psql, see
! https://devcenter.heroku.com/articles/heroku-postgresql#local-setup
(ウ)DBへ接続
DBへの接続は下記の通り行う。
R:\>heroku pg:psql -a [APP-NAME]
この際、アプリ名の指定を忘れると下記の通り言われる。
R:\>heroku pg:psql
» Error: Missing required flag:
» -a, --app APP app to run command against
» See more help with --help
正常に接続ができると、下記のようになる。
R:\>heroku pg:psql -a [APP-NAME]
--> Connecting to postgresql-XXXXXX-XXXXXX
psql (10.6)
SSL 接続 (プロトコル: TLSv1.2、暗号化方式: ECDHE-RSA-AES256-GCM-SHA384、ビット長: 256、圧縮: オフ)
"help" でヘルプを表示します。
[APP-NAME]::DATABASE=>
Web上の管理画面でも接続されたことを確認できる。
3,おわりに
クラウドなのに、クラウドなのになんでDBを操作するために、ローカル環境にDBをインストールしないといけないのじゃぁぁぁ
辛さのあまり、Tweetの内容がおかしくなっているのはやさしく見ておいてください。
最近のコメント