PostgreSQL データベース接続エラー: psql: エラー: 致命的: ユーザー「postgres」のパスワード認証に失敗しました

ここに画像の説明を挿入します

1. 環境の紹介

1.1 実践環境の紹介

環境は以下の通りです。yumを使用してPostgreSQLをインストールします。

ホスト名 IPアドレス オペレーティング システムのバージョン PostgreSQLのバージョン
ジェブン 192.168.3.166 セントス 7.6 13.10

1.2 PostgreSQL の概要

PostgreSQL (Postgres とも呼ばれます) は、SQL 言語に基づいてすべての主流機能を実装し、トランザクション処理、同時実行制御、複雑なクエリ、外部キー、トリガー、ストアド プロシージャなどの高度な機能をサポートするオープン ソースのリレーショナル データベース管理システムです。これは拡張性が高く、安定性と安全性が高く、多くの大規模なエンタープライズ レベルのアプリケーションに推奨されるデータベース システムの 1 つです。

1.3 PostgreSQLの機能

  • オープンソースで無料: PostgreSQL はオープンソース ソフトウェアであり、ソース コードは無料で使用および変更でき、商用プロジェクトでも使用できます。
  • 高いスケーラビリティ: PostgreSQL は水平方向および垂直方向の拡張をサポートしており、大量のデータや同時リクエストが多い場合に簡単に処理できます。
  • 複数のデータ型のサポート: PostgreSQL は、JSON、配列、範囲、XML、UUID などを含む多くのデータ型をサポートします。
  • バックアップとリカバリ: PostgreSQL は、物理バックアップや論理バックアップなど、さまざまなバックアップおよびリカバリ方法を提供します。
  • セキュリティ: PostgreSQL は、SSL/TLS 暗号化、アクセス制御、認証と認可などの多くのセキュリティ メカニズムを提供します。
  • 拡張性: PostgreSQL は、空間データのサポート、全文検索など、多くの拡張機能をサポートしています。

2. エラー報告シナリオ

PostgreSQL データベースにリモート接続すると、パスワード検証エラーが発生しました。

[root@jeven ~]#  psql -h192.168.3.166  -Upostgres -W
Password:
psql: error: FATAL:  password authentication failed for user "postgres"

ここに画像の説明を挿入します

3. 理由を分析する

  • 以下の考えられる原因を分析し、一つずつ調査してください。

1. パスワードを忘れて間違って入力した;
2. /var/lib/pgsql/13/data/postgresql.conf ファイルが正しく構成されていない; 3.
/var/lib/pgsql/13/data/pg_hba.conf ファイル設定が正しくありません;
4. 設定 データベース ユーザーのパスワードが間違っています。

4. 関連する構成を確認する

  • /var/lib/pgsql/13/data/postgresql.conf ファイルをチェックして、次の内容が正しく変更されているかどうかを確認します。
listen_addresses = '*'		# what IP address(es) to listen on;
  • /var/lib/pgsql/13/data/pg_hba.conf ファイルをチェックして、以下の内容が正しく変更されているかどうかを確認します。
host    all            all      127.0.0.1/32      ident
host    all            all      0.0.0.0/0  md5
  • 上記が正しいことを確認した後、サービスを再起動して再度テストします。

5. 関連シナリオにおけるエラーレポートの解決策

5.1 ログインパスワードを忘れた場合

ログイン パスワードを忘れた場合は、ローカル PostgreSQL にログインしてパスワードをリセットします。

su - postgres
psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"

5.2 パスワードが間違って設定されている、または設定されていない

データベースのパスワードが正しく設定されていないか、設定されていません。ローカル サービスに接続した後、パスワードをリセットしてください。このエラーは、パスワードに不注意に文字を入力したことが原因で発生しました。

sudo -u postgres
psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"

5.3 設定ファイルのエラー

設定ファイルに誤りがある場合は、以下の修正をお試しください。

  • /var/lib/pgsql/13/data/postgresql.conf ファイルをチェックして、次の内容が正しく変更されているかどうかを確認します。
listen_addresses = '*'		# what IP address(es) to listen on;
  • /var/lib/pgsql/13/data/pg_hba.conf ファイルをチェックして、以下の内容が正しく変更されているかどうかを確認します。
host    all            all      127.0.0.1/32      ident
host    all            all      0.0.0.0/0  md5
  • 上記が正しいことを確認した後、サービスを再起動して再度テストします。

5.4 パスワード不要のログインを設定する

ローカルログインに問題がある場合は、一時的にパスワードフリーログインを設定し、パスワードを変更した後、設定ファイル/var/lib/pgsql/13/data/pg_hba.confを元に戻してください。

  • パスワード不要のログインを設定する
vim /var/lib/pgsql/13/data/pg_hba.conf
host    all            all      127.0.0.1/32     trust
host    all            all      0.0.0.0/0  trust

5.5 環境問題

環境をクリアするか、新しい環境に変更して PostgreSQL データベースを再デプロイします。

6. PostgreSQLデータベース接続エラーレポートの概要

  • データベース接続構成エラー: データベース アドレス、ポート番号、ユーザー名、パスワードなどの接続パラメーターが正しいかどうかを確認し、接続パラメーターが実際の状況と一致していることを確認してください。

  • データベースサービスが開始されていません: データベースサービスが開始されているかどうかを確認し、開始されていない場合は、データベースサービスを手動で開始する必要があります。

  • データベース権限の問題: 接続したユーザーにデータベースへのアクセス権限があることを確認してください。

  • ファイアウォールまたはネットワークの問題: ファイアウォールがデータベース アクセスをブロックしていないか、ネットワーク接続が機能していることを確認してください。

  • データベース構成ファイル エラー: データベース リスニング アドレスなど、データベース構成ファイルが正しく設定されているかどうかを確認してください。

  • データベースのバージョンに互換性がありません: 接続されているクライアントのバージョンがデータベースのバージョンと互換性があるかどうかを確認します。

おすすめ

転載: blog.csdn.net/jks212454/article/details/133952198