Ubuntuでは、PostgreSQLデータベースをインストールし、サーバーのスーパーユーザーを作成しました。
postgresqlスーパーユーザーのパスワードを忘れた場合、そのユーザーのパスワード(パスワード)をリセットするにはどうすればよいですか?
アンインストールしてから再度インストールしてみましたが、以前に作成したスーパーユーザーは保持されます。
Ubuntuでは、PostgreSQLデータベースをインストールし、サーバーのスーパーユーザーを作成しました。
postgresqlスーパーユーザーのパスワードを忘れた場合、そのユーザーのパスワード(パスワード)をリセットするにはどうすればよいですか?
アンインストールしてから再度インストールしてみましたが、以前に作成したスーパーユーザーは保持されます。
あなたがマシンの管理者であると仮定すると、Ubuntu は、任意のユーザーとして任意のコマンドを実行するsudoの権利をあなたに付与しています。また、ファイル (ディレクトリ内)
の権限を制限していないと仮定すると、最初のルールとして次の行が含まれている必要があります。pg_hba.conf
/etc/postgresql/9.1/main
# Database administrative login by Unix domain socket
local all postgres peer
(ファイルの場所について:9.1
は主要な postgres バージョンとmain
「クラスター」の名前です。新しいバージョンの postgres またはデフォルト以外の名前を使用している場合は異なります。pg_lsclusters
バージョン/システムのこの情報を取得するには、コマンドを使用します)。
とにかく、pg_hba.conf
ファイルにその行がない場合は、ファイルを編集して追加し、sudo service postgresql reload
.
psql
次に、次のシェル コマンドを使用して、postgres スーパーユーザーとしてログインできるはずです。
sudo -u postgres psql
psql に入ったら、次の SQL コマンドを発行します。
ALTER USER postgres PASSWORD 'newpassword';
このコマンドで、postgres
はスーパーユーザーの名前です。パスワードを忘れたユーザーが だったritesh
場合、コマンドは次のようになります。
ALTER USER ritesh PASSWORD 'newpassword';
参考文献: PostgreSQL 9.1.13 ドキュメント、第 19 章クライアント認証
最後に単一のSを付けてpostgresと入力する必要があることに注意してください
コマンドの履歴またはサーバー ログにパスワードをクリア テキストのままにしておくことが問題である場合、psql はそれを回避するための対話型メタコマンドを次の代わりに提供しALTER USER ... PASSWORD
ます。
\password username
二重ブラインド入力でパスワードを要求し、設定に従ってハッシュし、クリア テキスト バージョンではなく、パスワードのハッシュ バージョンを使用してサーバーにコマンドをpassword_encryption
発行します。ALTER USER