DBeaverでHeroku Postgresにつなぐ
久々にHerokuを触ることになり、DBもHeroku Postgresなので、Windowsで使えるPostgreSQLのGUIクライアントがないかと探していたところ、良さそうなものを発見。
PostgreSQL専用というわけではなく、MySQLやSQLiteなどいろいろなデータベースをサポートしている上に、実はマルチプラットフォームで展開しているものでした。
で、いざHeroku Postgresにつなごうとしたところで、単純にDatabase Credentialsをコピペしただけでは繋がらなかったので、接続方法をメモ。
確認環境
項目 | バージョン等 |
---|---|
OS | Windows 10 Pro |
DBeaver | 4.2.0 |
Heroku Postgresへの接続情報の確認
Heroku Postgresへの接続情報は、環境変数 HEROKU_POSTGRESQL_COLOR_URL (※ COLOR 部分はいろいろと変わる)にあります。
プロジェクトフォルダにて以下のコマンドを叩くか、Heroku Dashboardから該当アプリのConfig Variablesから確認します。
$ heroku config:get HEROKU_POSTGRESQL_COLOR_URL -a <app name>
すると、以下の様な形式の文字列が取得できます。
postgres://<user>:<password>@<host>:<port>/<database>
Heroku Postgresへつなぐ
左側に表示されるDatabase Navigator内で右クリックして「Create new connection type」、もしくはメニュー「Database」→「New Connection」を選ぶ。
Select new connection type内で「PostgreSQL」を選択する。
Generalタブ内で、先に調べた接続情報から以下のものを転記する。
- host
- port ※たぶんPostgreSQLのデフォルトポート
5432
が設定済 - database
- user
- password
Driver propertiesタブ内で「sslmode」に require
と入力する。
「Test Connection」で問題がなければ、あとは「Next」「Next」「Finish」でOK。
Driver propertiesの「sslmode」の設定をしていないと、接続時にエラーになります。
ということが、Herokuドキュメントに書かれていました。
Connecting to Heroku Postgres Databases from Outside of Heroku | Heroku Dev Center
おわり
MacではPSequelをメインで使っていましたが、わりとDBeaverの使い勝手が良かったので、個人Macにも導入することにしました。