How to change PostgreSQL user password?
如何更改PostgreSQL用户的密码?
对于密码少登录:
1 | sudo -u user_name psql db_name |
如果您忘记了重置密码:
1 | ALTER USER user_name WITH PASSWORD 'new_password'; |
然后输入:
1 | $ sudo -u postgres psql |
然后:
1 | \password postgres |
然后退出
1 | \q |
如果这不起作用,请重新配置身份验证。
编辑
1 | LOCAL ALL ALL peer |
至:
1 | LOCAL ALL ALL md5 |
然后重启服务器:
1 | $ sudo service postgresql restart |
您可以并且应该加密用户的密码:
1 | ALTER USER username WITH ENCRYPTED PASSWORD 'password'; |
我相信更改密码的最佳方法就是使用:
1 | \password |
在Postgres控制台中。
资源:
Caution must be exercised when specifying an unencrypted password with
this command. The password will be transmitted to the server in
cleartext, and it might also be logged in the client's command history
or the server log. psql contains a command \password that can be used
to change a role's password without exposing the cleartext password.
来自https://www.postgresql.org/docs/9.0/static/sql-alterrole.html。
要使用Linux命令行更改密码,请使用:
1 | sudo -u <user_name> psql -c"ALTER USER <user_name> PASSWORD '<new_password>';" |
转到Postgresql配置并编辑pg_hba.conf
然后更改此行:
1 2 | DATABASE administrative login BY Unix DOMAIN socket LOCAL ALL postgres md5 |
至 :
1 2 | 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 postgres
用你的新密码。
如果你们都发现任何问题,请告诉我。
要为postgres用户请求新密码(不在命令中显示):
1 | sudo -u postgres psql -c"\password" |
这是谷歌的第一个结果,当我在寻找如何重命名用户时,所以:
1 2 | ALTER USER <username> WITH PASSWORD '<new_password>'; -- change password ALTER USER RENAME TO <new_username>; -- rename user |
其他一些有助于用户管理的命令:
1 2 | CREATE USER <username> PASSWORD '<password>' IN GROUP <group>; DROP USER <username>; |
将用户移动到另一个组
1 2 | ALTER GROUP DROP USER <username>; ALTER GROUP <new_group> ADD USER <username>; |
我在服务器上进行的配置定制了很多,只有在
1 | LOCAL ALL ALL trust |
不要忘记将其更改回密码或md5
对于我在安装了postgres 10.3的Ubuntu 14.04上的情况。我需要按照以下步骤操作
-
su - postgres 将用户切换为postgres -
psql 进入postgres shell -
\password 然后输入您的密码 -
\q 退出shell会话 -
然后通过执行
exit 切换回root,并通过确保您具有以下行来配置pg_hba.conf (我的/etc/postgresql/10/main/pg_hba.conf )local all postgres md5 -
通过
service postgresql restart 重新启动postgres服务 -
现在切换到
postgres 用户并再次输入postgres shell。它会提示您输入密码。
更改密码
1 | sudo -u postgres psql |
然后
1 | \password postgres |
现在输入新密码并确认
然后
用这个:
1 | \password |
输入您希望该用户使用的新密码,然后进行确认。
如果您不记得密码并想要更改密码,则可以以postgres身份登录,然后使用:
1 | ALTER USER 'the username' WITH PASSWORD 'the new password'; |