UbuntuでのPostgreSQLのパスワードのリセット[終了]


91

Ubuntuでは、PostgreSQLデータベースをインストールし、サーバーのスーパーユーザーを作成しました。

postgresqlスーパーユーザーのパスワードを忘れた場合、そのユーザーのパスワード(パスワード)をリセットするにはどうすればよいですか?

アンインストールしてから再インストールしようとしましたが、以前に作成したスーパーユーザーが保持されています。

回答:


208

あなたがマシンの管理者であると仮定すると、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が1 つあるpostgresと入力する必要があることに注意してください


2
私はあなたの方法を使用しました。私のスーパーユーザー名はriteshです。私のpg_hba.confは、あなたが言及したとおりです。コンソールに「ALTER ROLE」と表示されます。その後、ctrl + cを使用して終了し、コマンドcreateuserを実行しました。パスワードを入力するように表示されていますが、newpasswordと入力しましたが、エラー「createuser:データベースに接続できませんでした:PostgreSQL :ユーザー「ritesh」のパスワード認証に失敗しました。ユーザーの作成方法と、このコマンドのパスワードは何ですか?
Ritesh Mehandiratta 2013年

のパスワードを変更する場合はritesh、上記のSQLをALTER USER ritesh PASSWORD 'newpassword'
DanielVéritéJan

pg_hba.confを変更した後は、postgresを再起動する必要があります...
Mahdi

1
再起動する必要はありません。pg_ctlreloadを使用してください。
hbn 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.