1. ホーム
  2. postgresql

[解決済み] 'ユーザー "postgres" のパスワード認証に失敗しました'

2022-03-17 03:22:14

質問

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"

解決方法は?

私の記憶が正しければ、ユーザは postgres はありません。 DB のパスワードは、Ubuntuではデフォルトで設定されています。つまり、そのアカウントへのログインには postgres OSユーザー のアカウントを作成します。

があると仮定して 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 . それもOKです。

の内側には psql シェルに DBユーザー postgres をパスワードで指定します。

ALTER USER postgres PASSWORD 'newPassword';

を残すことができます。 psql と入力することでシェルが起動します。 Ctrl D またはコマンドで \q .

これで、pgAdminにDBスーパーユーザの有効なパスワードを与えることができるようになり、pgAdminも満足するはずです :-)