このチュートリアルでは、PostgreSQL サーバーを使用してユーザーのパスワードをリセットする方法を検討します。この場合のデータベース ユーザーとは、データベース エンジンにアクセスできるユーザーを指すことに注意してください。したがって、これには特定のアプリケーションのユーザー データは含まれません。
方法 1: PSQL ユーティリティを使用する
PostgreSQL でユーザー パスワードをリセットする最も一般的な方法は、PSQL ユーティリティを使用してスーパーユーザー (Postgres) としてログインすることです。
新しいターミナル セッションを起動し、次のコマンドを実行して、スーパーユーザーとして PostgreSQL データベースにアクセスします。
$ psql -の ポストグレ
指定されたコマンドにより、サーバーのセットアップ時に定義されたスーパーユーザーのパスワードの入力が求められます。
PostgreSQL コマンドライン インターフェイスにログインしたら、ALTER USER コマンドを使用して特定のユーザー名のパスワードをリセットできます。
コマンドの構文は次のとおりです。
ALTER USER ユーザー名 WITH PASSWORD '新しいパスワード' ;たとえば、「linuxhint」というユーザー名のパスワードをリセットするとします。次のようにクエリを実行できます。
パスワードを使用してユーザー linuxhint を変更する 'パスワード' ;
主にパスワードに特殊文字が含まれている場合は、パスワードを一重引用符で囲む必要があります。
コマンドが正常に実行されたら、次のコマンドを使用して PSQL インターフェイスからログアウトできます。
\q方法 2: PgAdmin グラフィカル インターフェイスを使用する
pgAdmin グラフィカル インターフェイスを使用して、特定のデータベース ユーザーのパスワードをリセットすることもできます。
ここで概説されている手順に従って、pgAdmin を使用してユーザー パスワードをリセットする方法を学習できます。
a. pgAdmin ユーティリティを起動し、正しい認証情報でログインします。
b.スーパーユーザーの資格情報を使用して、ターゲットの PostgreSQL サーバーに接続します。
c.左側のオブジェクト エクスプローラー ペインで、「サーバー」グループを展開し、ターゲット データベースに移動します。
d. 「ログイン/グループの役割」ノードを展開して、パスワードをリセットするユーザーを見つけます。この場合、「linuxhint」ユーザーのパスワードをリセットしたいと考えています。
e.選択したユーザーを右クリックし、コンテキスト メニューから「プロパティ」を選択します。
f. 「プロパティ」ウィンドウで、「定義」タブに移動します。
g.定義したユーザーの「パスワード」フィールドに新しいパスワードを入力します。
h.最後に、「保存」をクリックして変更を保存します。
これにより、ターゲット ユーザーに新しく提供されたパスワードが設定されます。
方法 3: PostgreSQL パスワード構成ファイルを編集する
スーパーユーザー アカウントのパスワードを忘れた場合は、PostgreSQL パスワード構成ファイルを編集してパスワードをリセットできます。
まず、PostgreSQL インストールのデータ ディレクトリを見つけます。このディレクトリのパスは、オペレーティング システムとインストールされている PostgreSQL のバージョンによって異なります。
データ ディレクトリで pg_hba.conf ファイルを見つけ、任意のテキスト エディタで編集します。
すべてのローカル接続を md5 から信頼するように変更します。これにより、パスワードなしでローカル マシンからのすべての受信接続を信頼するように PostgreSQL に指示されます。
# タイプ データベース ユーザー アドレス メソッド# 「local」は Unix ドメインソケット接続のみに使用されます
ローカル すべて すべて 信頼
# IPv4 ローカル接続:
ホスト すべて すべて 127.0.0.1/32 信頼
# IPv6 ローカル接続:
ホスト すべて すべて ::1/128 信頼
# 権限を持つユーザーによるローカルホストからのレプリケーション接続を許可します。
# レプリケーション権限。
ローカル レプリケーション すべて 信頼
ホスト レプリケーション すべて 127.0.0.1/32 信頼
ホスト レプリケーション すべて ::1/128 信頼
完了したら、変更を有効にするために PostgreSQL サーバーを再起動する必要があります。これで、パスワードなしで Postgres ユーザーを使用して PostgreSQL サーバーにログインできるようになります。
結論
PostgreSQL でユーザー パスワードをリセットするために使用できるさまざまな方法とテクニックを調査しました。