PostgreSQL ユーザーのパスワードを変更するにはどうすればよいですか?
22 に答える
パスワードなしでログインするには:
sudo -u user_name psql db_name
忘れた場合にパスワードをリセットするには:
ALTER USER user_name WITH PASSWORD 'new_password';
postgres ユーザーのパスワードを変更するには、次の手順に従います。
- psql にログインします。
$ sudo -u postgres psql
- 次に、psql コンソールでパスワードを変更して終了します。
postgres=# \password postgres
Enter new password: <new-password>
postgres=# \q
またはクエリを使用して
ALTER USER postgres PASSWORD '<new-password>';
または一行で
sudo -u postgres psql -c "ALTER USER postgres PASSWORD '<new-password>';"
ノート:
それでもうまくいかない場合は、編集して認証を再構成し/etc/postgresql/9.1/main/pg_hba.conf
(パスは異なります)、次のように変更します。
local all all peer # change this to md5
## to
local all all md5 # like this
次に、サーバーを再起動します。
$ sudo service postgresql restart
Linux コマンドラインを使用してパスワードを変更するには、次を使用します。
sudo -u <user_name> psql -c "ALTER USER <user_name> PASSWORD '<new_password>';"
Postgresql 構成に移動し、pg_hba.conf を編集します。
sudo vim /etc/postgresql/9.3/main/pg_hba.conf
次に、この行を変更します:
Database administrative login by Unix domain socket
local all postgres md5
に :
Database administrative login by Unix domain socket
local all postgres peer
次に、SUDO コマンドを使用して PostgreSQL サービスを再起動します。
psql -U postgres
これで入力され、Postgresql ターミナルが表示されます
次に入力します
\password
Postgres デフォルト ユーザーの新しいパスワードを入力します。パスワードが正常に変更されたら、pg_hba.conf に移動し、変更を「md5」に戻します。
これで、次のようにログインされます
psql -U ポストグル
新しいパスワードで。
何か問題があれば教えてください。
私のサーバーで取得した構成は大幅にカスタマイズされており、ファイルに信頼認証を設定した後にのみパスワードを変更できました。pg_hba.conf
local all all trust
これをパスワードまたは md5 に戻すことを忘れないでください
postgres 10.3でインストールされたUbuntu 14.04の私の場合。次の手順に従う必要があります
su - postgres
ユーザーを切り替えるpostgres
psql
postgres シェルに入る\password
パスワードを入力してください\q
シェル セッションを終了するには次に、次の行があることを確認して、 (私の場合は)を実行
exit
して構成することにより、ルートに戻りますpg_hba.conf
/etc/postgresql/10/main/pg_hba.conf
local all postgres md5
- postgres サービスを再起動します。
service postgresql restart
- ここで、ユーザーに切り替えて
postgres
、postgres シェルを再度入力します。パスワードを要求されます。
これを使って:
\password
そのユーザーに必要な新しいパスワードを入力し、確認します。パスワードを覚えておらず、変更したい場合は、postgres としてログインしてから、次のコマンドを使用できます。
ALTER USER 'the username' WITH PASSWORD 'the new password';
pg_hba.conf を確認してください
認証方法が「ピア」の場合、クライアントのオペレーティング システムのユーザー名/パスワードは、データベースのユーザー名とパスワードと一致する必要があります。その場合、Linux ユーザー「postgres」と DB ユーザー「postgres」のパスワードを同じに設定してください。
詳細については、ドキュメントを参照してください: https://www.postgresql.org/docs/9.1/auth-pg-hba-conf.html