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での接続ができるようになる。

前へ

アバターチャット「mongocco!」のサービスが間もなく終了する

次へ

PostgreSQLエラー「データベースを初期化中: mkdir: ディレクトリ `/var/lib/pgsql/data/pg_log' を作成できません: ファイルが存在します」の原因と解決方法