LoginSignup
75
77

More than 5 years have passed since last update.

heroku postgresのDBにローカルPCから遠隔アクセスする

Last updated at Posted at 2013-04-09

はじめに

herokuが提供するPostgreSQLのDBにローカルPCから遠隔ログインし、データを取得・編集できる方法をまとめました。
当方の環境はMac(Mountain Lion)ですが、Windows/Linuxでも同じはずです。

主に、コマンドライン(psql)でアクセスする方法と、GUIのDBクライアントを使う方法があります。

psqlを使う方法

heroku toolbeltがインストールされていることを前提とする。
以下のコマンドを実行する。

$ heroku pg:psql

これで、psqlでheorkuのPostgreSQL DBにアクセスすることができます。

GUI DBクライアントを使う方法

ここでは、NetBeansのDBクライアント機能を利用することを前提とする。

(2013/09/27追記:NetBeansよりもお薦めの「pgAdmin」というGUIクライアントを発見した。本記事末尾に紹介したので参考にされたい。HerokuのPostgreSQL DBへのアクセスの仕方は、NetBeansと変わらないはずである。)

まず、herokuの公式Webサイトに自分のアカウントでログインする。そして、DBにアクセスしたいアプリケーション名をクリックする。(プライバシーのため、以下の図はアプリ名にモザイクがかかってます)
スクリーンショット 2013-01-14 13.44.58.jpg

「Resources」タブが選択されていることを確認し、「Add-ons」の「Heroku Postgres *」(*は使っているプランによって変わります)をクリックする。
スクリーンショット-2013-01-14-13.55.45.jpg

以下のページが表示されるので、herokuのアカウントでログインする。
スクリーンショット 2013-01-14 14.02.12.jpg

ログインすると、データベースのリストが表示されるので、見たいアプリのデータベース名をクリックする。
スクリーンショット-2013-01-14-14.04.22.jpg

次に、「Connection Settings」の右にある歯車アイコンをクリックしてメニューを表示し、「JDBC URL」を選択する。
スクリーンショット-2013-01-14-14.08.52.jpg

表示されたページで、JDBC URLをコピーして保存しておく。
スクリーンショット 2013-01-14 14.13.24.jpg

NetBeansをインストールする(ここではバージョン7.3.1を想定)。

「サービス」タブ→「ドライバ」→「PostgreSQL」の右クリックでコンテキストメニューを表示し、「接続」をクリックする。以下のページが参考になる。
http://ubuntu-note.blog.so-net.ne.jp/2010-12-31(Ubuntu & Emacs & etc. メモ さんより)

ただ、上記のページで説明しているNetBeansはバージョンが古く、接続設定画面のUIが異なる。バージョン7.3.1では以下のような画面になる。herokupostgresのページで控えたJDBC URLの情報を元に、項目を埋めていく。ホスト、ポート、データーベース、ユーザー名、パスワードの項目を埋めたら、最後にJDBC URLの欄の末尾に?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactoryという文字列を追加する。
(参考:devcenter.heroku.com
そして、「接続をテスト」ボタンを押せば、「接続に成功しました。」と出るはずである。
スクリーンショット-2013-01-14-14.23.39.jpg

接続に成功したら、各テーブルのデータを参照したり編集したり、色々できる。
スクリーンショット 2013-01-14 14.35.31.jpg

NetBeansの問題点

Mac版のみの問題なのか、他のプラットフォーム版でも起きるのか確認していないが、NetBeansのDB機能だと、データを表示するタブが、開いてもしばらく経つと勝手に閉じてしまうという不具合(?)を確認した。

2013/09/27追記:NetBeansよりもオススメのGUIクライアント「pgAdmin」

上記の不具合があるNetBeansよりもオススメのGUIクライアントを発見した。「pgAdmin」である。無料。
UIが若干使いづらいが、PostgreSQL専用ということで、相性は良さそうだ。
ちなみに日本語UIは訳がところどころ不自然なので、環境設定で英語UIに変更することをお勧めする。
HerokuのPostgreSQL DBへのアクセスの仕方は、NetBeansと変わらないはずである。

75
77
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
75
77