PostgreSQLエラー「FATAL: no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "データベース名", SSL off」の原因と解決方法
Linuxコンソールでpsql -U postgres nobuneko((※「nobuneko」はデータベース名))で接続できない時に/var/lib/pgsql/data/pg_log/でログを確認すると、以下のようなエラーメッセージが記録されていることがある。
FATAL: no pg_hba.conf entry for host "127.0.0.1", user "postgres", database "nobuneko", SSL off
このエラーメッセージを見る限り、どうやら、現在のpg_hba.confの設定では、postgresユーザがデータベース「nobuneko」に127.0.0.1というホストからは接続ができないようになっているようだ。つまり、設定を変更することでエラーを解決できると推測できる。
この場合、/var/lib/pgsql/data/pg_hba.confの設定を確認すると、以下のようになっていた。
# IPv4 local connections:
host all all 192.168.2.0/24 trust
127.0.0.1の記述がなかった。つまり、127.0.0.1から接続できない原因は、単純に127.0.0.1からの接続を許可する設定がpg_hba.confになかったからだ。
そこで、以下のように127.0.0.1の設定を追記する。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.2.0/24 trust
これで、(他に何らかの制限がなければ)postgreSQLを再起動後、127.0.0.1からもpsqlでの接続ができるようになる。