[Debian FAQ]PostgreSQLにユーザーログインできない
Debian FAQ


FATAL:  IDENT authentication failed for user "ユーザー名"

パッケージインストールされたPostgreSQL起動して、プログラムからユーザーIDによるアクセスをすると、上記エラーメッセージが表示されて、データベースにアクセスできない。

これは、localのアクセス認証が、identとなっているため、通常のユーザー名・パスワードではアクセスできなくなっている。

 

ユーザー名でアクセスするためには、PostgreSQLインストールディレクトリにある、pg_hba.confを修正することで、アクセス可能になります。

デフォルトインストールでは、下記のようになっています。

local   all         postgres                          ident sameuser
local   all         all                               ident sameuser
host    all         all         127.0.0.1/32          md5
host    all         all         ::1/128               md5

 

 

ローカルのアクセスをパスワード許可に変更します。

local   all         all                               ident sameuser
local   all         all                               password 

 

 
PostgreSQLを再起動すれば、ユーザー名によるアクセスが可能になります。
ただし、公開時にはセキュリティホールを作らないようにするため、必要最低限の許可しか与えないようにしましょう。