2010-12-01 11 views
27

私は新鮮なUbuntuの10.10は、私は経由して、それを設定しているログイン+パスワード接続を受け入れるためのPostgreSQLのためにすべての更新とPostgreSQL 8.4
でインストールがあります。postgresqlを設定してログイン+パスワード認証を受け付ける方法は?

sudo su postgres 
psql 
ALTER USER postgres WITH PASSWORD 'password'; 
CREATE DATABASE myapp; 
\q 
exit 
sudo vi /etc/postgresql/8.4/main/pg_hba.conf 
change "local all all indent" to "local all all trust" 

しかし、驚くべきことに、これが機能していません!コマンド

psql -U postgres password 

はエラーで評価:

psql: FATAL: Ident authentication failed for user "postgres" 

任意のヒントは、私はpsql -Uが動作することができますか?

答えて

35

"postgres"ユーザにident認証を残すことをお勧めします。デフォルトでは、Ubuntuは "postgres"ユーザを使用してアップグレード、バックアップなどを実行し、指定されたパスワードなしでログインできることが必要です。

別のユーザーを作成して(おそらく自分のユーザー名で)管理者権限を与えることをお勧めします。次に、ローカル接続上のパスワードでそのユーザーを使用できます。ここで

が私のpg_hba.confの関連部分がどのように見えるかです:

# allow postgres user to use "ident" authentication on Unix sockets 
# (as per recent comments, omit "sameuser" if on postgres 8.4 or later) 
local all postgres       ident sameuser 
# allow all other users to use "md5" authentication on Unix sockets 
local all all        md5 
# for users connected via local IPv4 or IPv6 connections, always require md5 
host all all  127.0.0.1/32   md5 
host all all  ::1/128    md5 

またpsql -U postgres passwordはあなたがやりたいことではないことに注意してください。パスワードはコマンドラインで決して指定しないでください。それは "パスワード"という名前のデータベースにユーザー "postgres"としてログインしようとします。

代わりにpsql -U postgres myappを使用してください。 Postgresはパスワードを要求するように正しく設定されていれば自動的にパスワードの入力を求めます。

+0

管理者権限を持つ新しいユーザーを追加する正しい方法は何ですか? – grigoryvp

+0

"psql -U puser"を実行すると、 "psql:FATAL:database" puser "does not exist"というエラーが表示されます。 – grigoryvp

+1

通常、 'createuser'コマンドラインを使用する方が簡単ですSQLを使用してユーザーを作成する代わりに、ユーティリティーを使用します。これには、ユーザーを管理者にするオプションがあります。また、データベースが存在しないことを伝えている場合は、ログインに成功しました。デフォルトでは、postgresはユーザと同じ名前のユーザの "home"データベースにログインしようとします。 「puser」データベースを作成するか、「psql -U puser myapp」を使って「myapp」にログインしてみてください。 – cecilkorik

2

あなたのpg_ident.confファイルが正しく設定されていないと思われます。また、試してみました

psql -U postgres -W 
+0

同じエラー(15文字) – grigoryvp

0

もう1つの原因として、期限切れの資格情報があります。私はこれがバージョン8で起こったとは思わないが、バージョン9ではpgadminで新しい役割を作成するときに期限切れの状態で作成され、ログインできるようになる前に役割の有効期限を変更またはクリアする必要があるそれ。

関連する問題