Ubuntuを使用しています。 Ruby on RailsのPostgresqlデータベースをインストールする数日前。データベースサーバーのスーパーユーザーを作成し、postgresqlスーパーユーザーのパスワードを忘れました。誰でもスーパーユーザーのパスワードをリセットする方法を教えてください。試したことの1つは、アンインストールしてから再度インストールしましたが、以前に作成されたスーパーユーザーが保持されていることです。
あなたがマシンの管理者であると仮定すると、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
を使用してサービスをリロードします。
次に、このシェルコマンドを使用してpostgresスーパーユーザーとしてpsql
でログインできるようになります。
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と入力する必要があることに注意してください