Posted at

could not load pg_hba.conf でハマった

More than 3 years have passed since last update.


TL;DR


  • pg_hba.confのIPアドレスはCIDR表記( / つけるやつ)にしないといけない


記事

外部ホスト192.0.2.1からの接続を許可したく、pg_hba.confに下記のように書いた。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

host all hogeuser 192.0.2.1 password

そしてサービススタート……。

$ sudo service postgresql-9.5 start

Starting postgresql-9.5 service: [FAILED]

とするが失敗。CentOS6のyumにリポジトリを追加してPostgreSQL 9.5をインストールしていた私の環境では、ログファイルは /var/lib/pgsql/9.5/data/pg_log/ にあった。

< 2016-02-10 00:16:18.210 JST >CONTEXT:  line 86 of configuration file "/var/lib/pgsql/9.5/data/pg_hba.conf"

< 2016-02-10 00:16:18.210 JST >FATAL: could not load pg_hba.conf

接続元のIPアドレスを下記のようにCIDR表記に変更して解決。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

host all hogeuser 192.0.2.1/32 password

そのIPアドレスからだけ接続を受け付けるなら何も考えずうしろに /32 をつければOK。