1. ホーム
  2. windows

[解決済み] Postgresのデフォルトのパスワードは何ですか?

2022-03-15 21:55:38

質問

Windows 7 に Postgres 9.3 をインストールしたところです。インストールは正常に終了しました。postgresユーザのパスワードを要求されたことがありません。

サービスpostgresql-x64-9.3は稼働しています。しかし、接続できません。パスワードがわかりません。以下のような回答がありましたが、役に立ちませんでした。

Ubuntuで同様の質問

解決方法を教えてください。


警告 : trust は、まさにその意味です。PostgreSQLサーバに接続できる人であれば、誰でもそれを制御することができます。もしあなたが trust のようなスーパーユーザーを許可するモードは、ユーザー postgres (または all のユーザが接続すると、PostgreSQLを完全に制御できるようになり、おそらくシェルコマンドも実行できるようになります。通常、これを使うのは パスワードの変更 その後、設定を以前使用していた認証モードに戻してください。


無人インストールスクリプトを使用した場合、パスワードはスクリプトまたは関連する設定ファイル内にあります。

それ以外の場合は、パスワードを知らないのではなく、紛失・忘却したのと同じように扱ってください。

  • 編集 pg_hba.conf に設定し、認証モードを trust の代わりに、デフォルトの md5
  • サービスコントロールパネルで、PostgreSQLサービスを再起動します。
  • で接続します。 psql またはPgAdminなど
  • ALTER USER postgres PASSWORD 'mynewpassword';
  • 編集 pg_hba.conf に戻し、認証モードを md5
  • PostgreSQLを再度起動します。

pg_hba.conf はデータディレクトリにあります。デフォルトでは %PROGRAMFILES%\PostgreSQL\9.3\data .

これを編集するには、セキュリティタブを使用して自分に読み取り/書き込み権限を与える必要があります(UACプロンプトを経由して)。そのためには、自分自身をファイルの所有者として設定する必要があるかもしれません。


Unix系では、(1)の前に(2)を付けるとより安全です。

local all all peer

行から pg_hba.conf で、次に sudo -u postgres psql (PostgreSQLサーバーがユーザー postgres を取得し、インタラクティブな psql セッションをパスワードなしで利用できます。この方法では trust .