PostgreSQL 8.4、Postgres クライアント、および Pgadmin 3 をインストールしました。コンソール クライアントと Pgadmin の両方で、ユーザー「postgres」の認証に失敗しました。以前はうまくいったので、ユーザーを「postgres」、パスワードを「postgres」と入力しました。しかし、今は認証に失敗しています。以前はこの問題なしで何度か試しました。どうすればよいでしょうか? また、何が起きますか?
psql -U postgres -h localhost -W
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
FATAL: password authentication failed for user "postgres"
ベストアンサー1
私の記憶が正しければ、Ubuntu ではユーザーにはデフォルトでDBpostgres
パスワードが設定されていません。つまり、OS ユーザーアカウントを使用してのみそのアカウントにログインできるということです。postgres
root
ボックスにアクセスできると仮定すると、次の操作を実行できます。
sudo -u postgres psql
エラーが発生して失敗した場合はdatabase "postgres" does not exists
、Ubuntu または Debian サーバー上にいない可能性が高くなります :-) この場合は、template1
コマンドに以下を追加するだけです。
sudo -u postgres psql template1
これらのコマンドのいずれかがエラーで失敗した場合はpsql: FATAL: password authentication failed for user "postgres"
、ファイルを確認してください/etc/postgresql/8.4/main/pg_hba.conf
。最初の非コメント行として次のような行があるはずです。
local all postgres ident
PostgreSQL の新しいバージョンでは、ident
実際には である可能性がありますpeer
。これも問題ありません。
シェル内では、DB ユーザーにパスワードpsql
を与えることができます。 postgres
ALTER USER postgres PASSWORD 'newPassword';
または コマンドをpsql
入力すると、シェルを終了できます。CtrlD\q
これで、pgAdmin に DB スーパーユーザーの有効なパスワードを与えることができ、pgAdmin も満足するはずです。 :-)