- Published on
pgwebでherokuのpostgreSQLにローカルから接続する
- Authors
- Name
- Shou Arisaka / 有坂翔
pgwebでherokuのpostgreSQLにローカルから接続する方法について紹介します。 pgwebはブラウザベースのクロスプラットフォームなpostgreクライアントです。
sosedoff/pgweb: Cross-platform client for PostgreSQL databases
herokuからデータベースの情報を確認
Heroku Data > [データベース詳細ページ] > Settings > View Credentialsまたは、
Personal apps | Heroku > [アプリ詳細ページ] > Overview > Heroku Postgres > [データベース詳細ページ] > Settings > View Credentials
で、host,db name,username,pw,URI などの情報が取得できます。
ここでコピーしておくべきなのは、各情報とURIです。
Windows
Windowsの場合、Releases · sosedoff/pgwebから、pgweb_windows_amd64.exe.zipをダウンロードして、解凍して出来てたexeを起動するとhttp://localhost:8081/
にアクセスしてねと出てくるので、ブラウザからアクセスします。herokuからコピーしたログイン情報をペーストしてログインしてやると、
こんな感じでDB viewerやMysql workbenchライクにテーブルの中身を見ることができます。
パスを通せば、pgweb
みたいにアクセスできます。 僕はC:/bin
ってフォルダを作ってそこをパス通してそこにpgweb_windows_amd64.exe移してやってます。
Linux同様、--url オプションを使ったアクセスも可能です。
Linux
僕はWSLのubuntu16.04でやりましたが、パッケージ管理システム使ってるわけでもないのでどのディストリビューションでも行けるかと思います。curl -s https://api.github.com/repos/sosedoff/pgweb/releases/latest \
| grep linux_amd64.zip \
| grep download \
| cut -d '"' -f 4 \
| wget -qi - \
&& unzip pgweb_linux_amd64.zip \
&& rm pgweb_linux_amd64.zip \
&& sudo mv pgweb_linux_amd64 /usr/local/bin/pgweb
これで、先程コピーしたURIをあわせて、
yuis@DESKTOP-FOOBAR:/mnt/c/Users/user/vm$ pgweb --url postgres://kqwssyvvkvkhka:490...
# postgres://[USERNAME]:[PASSWORD]@[HOST]:[PORT]/[DBNAME]
みたいにしてやれば、データベース情報を入力する手間なく接続できます。
.bashrcに以下のように書いておけば、
alias pgweb_aptnote="pgweb --url postgres://kqwssyvvkvkhka:$(echo $HEROKU_DBPW_APTNOTE)@ec.compute-1.amazonaws.com:5432"
$ pgweb_aptnote だけでログインできますね。