web-dev-qa-db-ja.com

致命的:ユーザー「postgres」のパスワード認証が失敗しました(pgAdmin 4のpostgresql 11)

最近Postgresql 11をインストールしました。インストール中に、Postgresのパスワードとユーザー名を入力する手順はありません。ここでpgAdmin 4で、データベースをサーバーに接続したかったのですが、パスワードの入力を求められました。そもそも何も入力していません。誰もが何が起こっているのか知っています。ありがとうございました!

10
Michelley

pgAdmin -> Files -> open pgpass.conf経由でpgpass.confにアクセスできます

enter image description here

これにより、ウィンドウの下部にあるpgpass.confのパスが表示されます( 公式ドキュメント )。

次に、このファイルを開いて、好みに合わせて編集します。

それがうまくいかない場合は、次のことができます。

  • Pg_hba.confを見つけます。通常はC:\ Program Files\PostgreSQL\9.1\data\pg_hba.confにあります
  • 必要に応じて、変更できるようにアクセス許可を設定します。プロパティダイアログの[セキュリティ]タブを使用して、管理者によるオーバーライドを使用してその権利を自分自身に付与するまで、ユーザーアカウントはこれを行うことができない場合があります。
  • または、スタートメニューでnotepad/notepad ++を見つけ、右クリックして[管理者として実行]を選択し、[ファイル]-> [開く]を使用してpg_hba.confを開きます。
  • これを編集して、ホスト「127.0.0.1/32」上のユーザー「postgres」の「Host」行を「trust」に設定します。行がない場合は追加できます。挿入するだけです:

Host all postgres 127.0.0.1/32 trust

他の行の前。 (コメント、#で始まる行は無視できます)。

  • サービスのコントロールパネルからPostgreSQLサービスを再起動します(start-> run-> services.msc)。

  • psqlまたはpgAdmin4を使用して接続するか、任意の方法で接続します

  • ALTER USER postgres PASSWORD 'fooBarEatsBarFoodBareFoot'を実行します
  • pg_hba.confに追加した行を削除するか、元に戻します
  • postgreSQLを再起動します。
4
iLuvLogix

注:CREATE USERは、LOGINを暗黙指定することを除いて、CREATE ROLEと同じです。

$ psql postgres
postgres=# create user postgres with superuser password 'postgres';
1
user1575148

これは古い質問であることは承知していますが、同じ問題がありました。 Postgresql 11でのインストール中にPostgresのパスワードを設定するダイアログはありません。

他の回答で提案されているすべてのファイル操作を実行する代わりに、Postgresql 11を削除し、Postgresql 12をインストールしました。インストール中にパスワードの設定を求められました。

1
Drublic

PgAdmin4を使用していて、パスワードの更新でエラーが発生した場合は、以下の手順に従ってください。

1]ファイル「pg_hba.conf」を開き、「IPv4ローカル接続」を見つけます

2]「メソッド」列の下の値を参照してください。インストール中に選択した場合は、「md5」に設定する必要があります。

3]「md5」の値を空白にして、ファイルを保存します。 pgAdmin4アプリケーションを再起動します。

4]次に、値を「md5」に戻し、pgAdminアプリケーションにパスワードを入力します。

あなたはそれをうまく行うことができるはずです。

0

Windowsバリアントの場合-バージョン9.2のWindows x64インストール用のpgAdminのため、この厄介なバグも経験しました。それは私の生産を麻痺させたままにしました。

フォルダーC:\ Program Files\PostgreSQL\9.2\dataまたはC:\ Program Files(x86)\ PostgreSQL\9 .x\dataに、pg_hba.confテキストファイルがあります。

次の行を見つけます。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
Host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
Host    all             all             ::1/128                 md5

そして、METHOD md5を次のように "trust"に変更します。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# IPv4 local connections:
Host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
Host    all             all             ::1/128                 trust

Windows> Runから「services.msc」と入力し、 enter 適切なPostgreSQLインスタンスを見つけて再起動します。

これで、DBセキュリティが完全に開放されました。すべての関連ユーザーのユーザーパスワードの有効期限を2099年に変更した後、md5に戻すように警告を注意してください。

0
Pavan Patel