CentOS PostgreSQL8.1.2の環境でpsqlコマンドが実行できない。
psql: FATAL: no pg_hba.conf entry for host "[local]", user "postgres", database "postgres", SSL off
ホストがローカル、ユーザがpostgres、SSLがオフで実行できない?
pg_hba.confを見直すもだめ・・・と調べていたところ、
localこのレコードはUnixドメインソケットを使用する接続に対応します。 この種類のレコードを使用しないと、Unixドメインソケット経由の接続は拒否されます。
LinuxなのにUnixドメインソケットってなんぞや? UNIXドメインソケットとは
要はローカルマシン上のプロセスが経由するソケットがUNIXドメインソケット。
あれ?localなんて設定したことあったっけ?これだけで大丈夫だった機がするけど・・・。
host all all 127.0.0.1/32 trust
一応と調べてみると PostgreSQL のセキュリティ
どうやら、UnixドメインソケットとTCP/IPソケットの2種類があり、未指定の場合は Unixドメインソケットを利用するとのこと。
local all all trust