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からコピーしたログイン情報をペーストしてログインしてやると、

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_ab628604-a226-4e5b-88a8-1b585206c562.png

こんな感じで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-UHU8FSH:/mnt/c/Users/ifgm2/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 だけでログインできますね。

あとがき

Mysql workbenchみたいにインストール面倒じゃなくていいですね。重くもないですし。結構良さげ。

WSL ... 追加インストールが必要なツール WSL bash on ubuntu on windows インストール手順
WSL(Windows Subsystem for Linux)を初期から使っている僕がLinuxやプログラミングの初心者向けにWSLのメリットを解説してみる


お困りですか?この記事で紹介していることをマンツーマンで指導、解説、代行します。まずはお気軽にお問い合わせください。


関連するかもしれない記事

RailsのpostgreSQLにローカルネットワーク(LAN/外部)から接続したい
herokuのpostgreSQLデータベースの有料プランについてと有料プランへの変え方
SQL JOINした場合にrows(レコード)のカウントが減ってしまう場合
エックスサーバーのMysqlにSSHで出力を得る
WSL bashからWindows 10のクリップボード履歴を正規表現検索する(SQL)
エックスサーバーのMysqlにSSHで出力を得る
Chromeの検索履歴(ブラウジング履歴)をSQLで正規表現検索する


Close Menu