PostgreSQLのインストール時に入力したパスワードを忘れました 質問する

PostgreSQLのインストール時に入力したパスワードを忘れました 質問する

PostgreSQL のデフォルト ユーザーのパスワードを忘れたか、または (インストール中に) 間違って入力しました。実行できないようで、次のエラーが表示されます。

psql: FATAL:  password authentication failed for user "hisham"
hisham-agil: hisham$ psql

パスワードをリセットする方法はありますか? または、スーパーユーザー権限を持つ新しいユーザーを作成するにはどうすればいいですか?

私はPostgreSQLを初めて使い、初めてインストールしました。Ruby on Railsで使用しようとしており、Mac OS X v10.7(ライオン)。

ベストアンサー1

  1. pg_hba.confファイルを見つけます。このファイルは、たとえば/etc/postgresql-9.1/pg_hba.confにある場合があります。

    cd /etc/postgresql-9.1/

  2. バックアップする

    cp pg_hba.conf pg_hba.conf-backup

  3. 次の行を配置します (最初のコメントされていない行として、または唯一の行として)。

    レプリケーション セクションを除く以下のすべての発生 (ローカルおよびホスト) については、ない場合は次のように変更する必要があります。MD5 またはピア認証は存在してはなりません。

    ローカル すべて すべて 信頼

  4. PostgreSQL サーバーを再起動します (例: Linux の場合)

    sudo /etc/init.d/postgresql restart

    サービス (デーモン) がログ ファイルにレポートを開始しない場合:

    このビルドではローカル接続はサポートされていません

    あなたは変わるべきだ

    local all all trust

    host all all 127.0.0.1/32 trust

  5. これで、任意のユーザーとして接続できます。スーパーユーザーpostgresとして接続します(スーパーユーザーの名前はインストールによって異なる場合があります。一部のシステムでは、たとえばpgsqlと呼ばれます) 。

    psql -U postgres

    または

    psql -h 127.0.0.1 -U postgres

    (最初のコマンドでは必ずしもローカルホストに接続されるわけではないことに注意してください)

  6. パスワードをリセットします(postgresユーザーをリセットするため、 my_user_name をpostgresに置き換えます)

    ALTER USER my_user_name with password 'my_secure_password';

  7. 古いpg_hba.confファイルを復元してください。そのままにしておくのは非常に危険です。

    cp pg_hba.conf-backup pg_hba.conf

  8. 安全なpg_hba.confファイルで実行するために、サーバーを再起動します。

    sudo /etc/init.d/postgresql restart

pg_hba ファイルに関する詳細情報:19.1. pg_hba.conf ファイル(公式文書)

おすすめ記事