2011-08-12 201 views
13

CentOSサーバにPostgreSQLサーバ8.4を正常にインストールしました。その後 が、私は「postgresの」ユーザーを使用してCentOSのサーバーにログインし、私は任意のコマンドを実行することはできません、エラーが発生します。ユーザ "postgres"のパスワード認証に失敗しました

パスワード認証は、「postgresの」

ここでユーザーに失敗しましたpg_hba.confとそのpostgresql.confの中にいくつかの構成:

--------------------configuration in postgresql.conf----------- 
listen_addresses = '*' 

--------------------configuration in pg_hba.conf--------------- 
local all   all        md5 
local all   postgres       md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

答えて

11

あなたはPostgresのPostgreSQLのアカウントのパスワードではなく、Postgresのシステムアカウントを使用して確認してください。 pg_hba.confで "md5"の代わりに "trust"を試してパスに変更を加えてください。

+0

PostgresのシステムアカウントとpostgresのPostgreSQLのアカウントの違いは何ですか? Postgres PostgreSQLアカウントを使用しているかどうかを確認する方法はありますか? –

+0

使用するパスワードを知っておく必要があります。 – Daniel

+0

私はPostgreSQLアカウントのパスワードを使用しました。 –

14

私はpg_hba.confの中で次のように使用する傾向がある:

# Database administrative login by UNIX sockets 
local all   postgres       ident 

# TYPE DATABASE USER  CIDR-ADDRESS   METHOD 
local all   all        md5 
host all   all   127.0.0.1/32   md5 
host all   all   ::1/128    md5 

あなたは「postgresの」だと、パスワードは必要ありませんが、あなたはsudoの権利はpostgresになるために必要があることを意味し、だからそれはかなり安全です。他のユーザーは単純なmd5認証を使用してログインすることができます。つまり、すべての場所でsudoする必要はありません。これは私のためにうまくいく。

8

私は同様の問題(同じエラーメッセージ)を受けました。ダニエルの答えと同じように、私は次のものを混同しています。

"postgres PostgreSQLアカウントではなく、postgresシステムアカウントです。

単に「123456」(またはその他のパスワード)に変更し、Postgresのパスワードについて確認するために

# su postgres 
# psql -d template1 
template1=# ALTER USER postgres WITH PASSWORD '123456'; 
関連する問題