Vagrant+Ubuntu+Postgresqlにpgdminから接続

Vagrant使ってVM内に立ち上げたpostgreSQLにホスト側のpgAdminから接続するメモ

毎回忘れるのでメモ。

まずはVagrantfile修正してポートフォワードします。

@Vagrantfile

  config.vm.network "forwarded_port", guest: 5432, host: 55432

ホスト側の55432ポートをVMの5432にフォワードできました。設定反映のためVM立ち上げなおします。

vagrant reload

次に/etc/postgresql/9.3/main/postgresql.confを書き換えます。 下記のようにコメントアウトされている行を修正してコメントインして下さい。

# listen_addresses = ''          # what IP address(es) to listen on;
# 上のコメントアウト行を修正して、下記のようにします。
listen_addresses = '*'          # what IP address(es) to listen on;

最後にpg_hba.confを書き換えます。VM内の設定なので簡便に書きます。
/etc/postgresql/9.3/main/pg_hba.confを開いて以下の一行を追加。

host    all         all         0.0.0.0/0             trust

再起動。

sudo service postgresql restart

あとはpgAdminから接続すればOKです。

pg_hba.confはちゃんと書くのであれば以下のような感じです。

host    TestDB    test_user    192.168.0.0/24    md5

これは、192.168.0.0/24のクライアントから、test_userでTestDBにパスワード認証で接続することを許可する、ということを意味します。

以上です。