PostgreSQL に外部のマシン(ホスト、アドレス)から接続する(併せて、local からの接続時の注意)

結論

postgresql.confpg_hba.conf の2つのファイルを編集する。

1. postgresql.conf を編集する

listen_addresses という設定項目があるのでそこを編集します。デフォルトでは localhost になっています*1。カンマ区切りでアドレスを指定することができ、* で全て許可です。

これは大元の接続元の許可設定です。

2. pg_hba.conf を編集する

postgresql.conf を編集しただけではだめで pg_hba.conf も編集する必要があります。どのように編集すべきかは pg_hba.conf 内に詳しく書いてありますが、大抵の場合は以下の行を追加すればよいかと思います。123.123.123.0/24 のところは環境に合わせて変えてください。

host    all             all             123.123.123.0/24           md5

この設定は、認証方式(パスワードなど)でのログインを許可する設定です。

3. PostgreSQL を再起動する

設定が終わったら PostgreSQL を再起動すれば OK です。ただし、Ubuntu の場合は sudo service postgresql restart でなく sudo pg_ctlcluster 11 main restart が必要なようです。

補足

中から(local から)接続する場合は上記設定内容は関係がなく、host の部分を local に変えて設定する必要があります。

*1:コメントアウトされています

Powered by はてなブログ