2014/08/12
PostgreSQL
 >  仮想 9.4 Beta2 にホスト OS から接続
2014/09/24 追記 : この記事は不十分な点があり新サイトで書き直しました。
新しい記事は http://kenpg2.seesaa.net/article/405466080.html です。

昨日の最後に書いた件が意外にすんなりできた。VMware Player の仮想環境にインストールした PostgreSQL 9.4 Beta2 に、ホスト OS の pgAdmin から接続。以下、手順のメモ。仮想環境 の OS は openSUSE 13.1 で、詳細は 2014/08/0908/10 および昨日を参照。またホストの PC と OS は 2014/07/28 を参照。

↓ 仮想環境のネットワークアダプタ設定はデフォルトの NAT のまま。


↓ まずホスト側で調べると VMware が二つの IP アドレスを使っている。次に仮想側で ifconfig を実行して見比べた結果、VMnet8 が NAT で共有されているらしい。



↓ ホスト側から PING を打つとレスポンスがあるので、VMnet8 の経路は確立できていて、後は仮想側 PostgreSQL で設定すれば良さそう。


PostgreSQL のクライアントからの接続可否は、データフォルダ直下の pg_hba.conf という設定ファイルにある。その中に、ホスト側 VMnet8 アドレスからの接続を許可する設定を追加する。pg_hba.conf の詳細は下記を参照。

■ PostgreSQL 9.3.2文書 : pg_hba.confファイル
http://www.postgresql.jp/document/9.3/html/auth-pg-hba-conf.html

仮想側の openSUSE には gedit というエディタが付属しているが、普通に起動すると pg_hba.conf を開く権限がない。というか PostgreSQL のデータフォルダ自体にアクセスできない。しかし ↓ にファイルマネージャを管理者権限で開く方法があった。そのファイルマネージャから gedit も管理者権限で起動でき、pg_hba.conf を編集できた。

■ 山ん爺の森FC2版 : (Linux関連)ファイルマネージャ
http://yamanji.web.fc2.com/linux-open-file-manager.html

上記を参考に XTerm から管理者権限になり、ファイルマネージャの nautilus を起動して /opt/PostgreSQL/9.4/data/ を開く。



↓ pg_hba.conf を選んで右クリックし、メニューの一番上 Open With gedit を選ぶと編集できるようになった。細かい設定は後でやるとして、とりあえず locahost と同じ接続許可をホスト側 IP アドレスに追加した。



pg_hba.conf を保存したら ↓ PostgreSQL を再起動。


以上で仮想側の準備完了。次にホストから接続できるか ↓ の方法で確認する。

■ @IT Windows TIPS : ポートのリッスン状態を調査する
http://www.atmarkit.co.jp/ait/articles/0307/12/news003.html

上記のとおり netsh コマンドから仮想側 PostgreSQL のポート 5432 をリクエストし、レスポンスがあったので大丈夫そう。後は pgAdmin で接続先サーバを追加するだけ。


↓ ホスト側の pgAdmin でサーバを追加する様子。サーバ設定画面でパスワードも入れる。OK を押したら接続が試され、成功したらサーバが追加される。



↓ 無事追加された。バージョン 9.2、9.3 はローカル。それらと一緒に仮想側 DB を扱えるので便利。二枚目の画像は試しにクエリを打ったところ。



VMware のネットワーク設定を特に変えずに成功してしまったが、気になるのは VMnet の IP がたぶん DHCP ではないかということ。IP アドレスが変わったら pgAdmin や pg_hba.conf を変える必要がある。または固定 IP にするとか。その際は別途記事にする。
<< 実行環境まとめ(仮想 openSUSE 追…
9.4 Beta2 を openSUSE にインスト… >>