2014/08/12
PostgreSQL > 仮想 9.4 Beta2 にホスト OS から接続
PostgreSQL > 仮想 9.4 Beta2 にホスト OS から接続
2014/09/24 追記 : この記事は不十分な点があり新サイトで書き直しました。
新しい記事は http://kenpg2.seesaa.net/article/405466080.html です。
新しい記事は http://kenpg2.seesaa.net/article/405466080.html です。
昨日の最後に書いた件が意外にすんなりできた。VMware Player の仮想環境にインストールした PostgreSQL 9.4 Beta2 に、ホスト OS の pgAdmin から接続。以下、手順のメモ。仮想環境 の OS は openSUSE 13.1 で、詳細は 2014/08/09、08/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 にするとか。その際は別途記事にする。