今朝、私はWindows 7 ProfessionalデスクトップのPostgreSQLデータベースに接続しようとしています。
デフォルト値は「postgres」ですが、最初にインストールしたときに使用したパスワードを忘れてしまいました。
私はググって、パスワードのリセットに関連する post を見つけました。私は手順に従いましたが、最終結果は投稿で言及されたものとは少し異なります。私が使った—
Net User postgres postgres
私のデータベースのパスワードをリセットするが、成功メッセージの代わりに私は得ています:
「システムエラー5が発生しました。アクセスが拒否されました。」
システムエラー。このエラーを回避してパスワードをリセットするにはどうすればよいですか?
(注:これは、EDBインストーラーからPostgreSQL 9.2以降を使用しているリーダーにはあまり関係ありません。これにより、大幅に簡素化されたdefault _NETWORK SERVICE
_、ただし他のアカウントを構成することはできますが)。
_
Net User postgres postgres
_を使用してデータベースのパスワードをリセットしましたが、成功メッセージの代わりに_"System error 5 has occurred. Access is denied."
_が表示されます
サービスアカウントのパスワードをリセットした(またはリセットしようとした)。 PostgreSQLはセキュリティ上の理由から管理者として実行されず、インストーラーは通常、PostgreSQL 9.1以前では「postgres」ユーザーアカウントでセットアップします1。 Windowsでは、レジストリにユーザーのパスワードを保存せずにユーザーとしてサービスを開始することはできません。そのため、インストーラーが行います。
Windowsユーザーアカウントpostgres
のパスワードを変更すると、PostgreSQLサービスを開始できなくなります。したがって、これを行わないでください。更新されたパスワードを保存するようにサービス構成を修正する必要があります。
ありがたいことに、別の間違いが原因であなたがそれを行えなかったと思います。おそらく、非特権のWindowsユーザーアカウントまたはUACがインストールされているマシンで「管理者として実行」を使用せずにコマンドプロンプトを実行しているようです。そのため、postgres
ユーザー。
そのパスワードを変更する前に、それが本当にやりたいことであることを確認してください。ここで解決しようとしている問題は何ですか? postgres
Windowsユーザーのパスワードを要求するデータベースの更新などをインストールしようとしていますか?
ほとんどの場合、データベースにログインしようとしているだけです。そのためには、データベースに保存されている(残念ながら完全に無関係な)パスワードを使用します。紛失/忘れたため、リセットする必要があります。
pg_hba.conf
_を検索します。通常は_C:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
_でpg_hba.conf
_を開きます。これを編集して、ホスト「127.0.0.1/32」上のユーザー「postgres」の「Host」行を「trust」に設定します。行がない場合は追加できます。挿入するだけです:
_Host all postgres 127.0.0.1/32 trust
Host all postgres ::1/128 trust # if IPv6 is in use
_
beforeその他の行。 (コメント、_#
_で始まる行は無視できます)。
サービスコントロールパネルからPostgreSQLサービスを再起動します(start-> run-> _services.msc
_)
ALTER USER postgres PASSWORD 'postgres'
_pg_hba.conf
_に追加した行を削除するか、元に戻します参照: Windows上のPostgreSQLのpostgresパスワードをリセットするにはどうすればよいですか?
1。 9.2は、パスワードを必要としないNETWORKSERVICE
アカウントを使用するようになったため、この問題はなくなりました。
「postgres」と呼ばれるシステム(Windows)ユーザーと同じ名前のデータベースユーザーを区別する必要があります。
Pg_hba.confファイルを見つけます。これにより、PostgreSQLサーバーへのアクセスが制御されます。管理者権限を持つユーザーとして編集する必要があります。ユーザー「postgres」を含む行を探し、一時的にモードを「trust」に設定します。 postgresqlを再起動すると、パスワードなしで接続できるはずです。パスワードをリセットし、ファイルを元の設定に戻し、PostgreSQLを再起動します。
マニュアルには 認証方法 と pg_hba.conf ファイルの詳細があります。
他の誰かがこの問題に遭遇し、pgAdminも使用している場合は、これを確認することをお勧めします: http://www.homebrewandtechnology.com/blog/graphicallychangepostgresadminpassword