重置 postgres 用户密码
2022/05/30
在使用PostgreSQL
数据库时忘记postgres
用户的密码是件很头疼的事,因为很多操作都需要postgres
这个超级用户授权,所以下面就记录一下如何重置postgres
用户密码。
假设PostgreSQL
的安装目录是C:\PostgreSQL\14\
。
第一步:修改 pg_hba.conf 文件
进入C:\PostgreSQL\14\data\
目录,打开pg_hba.conf
文件,找到如下高亮位置,将连接模式改为信任
模式:
# | TYPE | DATABASE | USER | ADDRESS | METHOD |
---|---|---|---|---|---|
# "local" is for Unix domain socket connections only | |||||
local | all | all | scram-sha-256 | ||
# IPv4 local connections: | |||||
host | all | all | 0.0.0.0/0 |
trust |
|
# |
host | all | all | 127.0.0.1/32 | md5 |
# |
host | all | all | 0.0.0.0/0 | scram-sha-256 |
注意:列与列之间的值要用空格隔开,用tab
隔开无效,还有就是修改完要重启 PostgreSQL。
第二步:免密登录
进入C:\PostgreSQL\14\bin
目录,然后右键“在此打开命令行”,然后执行如下命令:
psql -U postgres -d postgres -h 127.0.0.1 -W
第三步:重设密码
alter user postgres with password '123456';
第四步:关闭信任模式
由于信任模式可以不使用密码连接数据库,存在极大的安全风险,不适合日常使用,所以重置完密码后应将该模式关闭,改为使用其它密码认证模式。
# | TYPE | DATABASE | USER | ADDRESS | METHOD |
---|---|---|---|---|---|
# "local" is for Unix domain socket connections only | |||||
local | all | all | scram-sha-256 | ||
# IPv4 local connections: | |||||
# |
host | all | all | 0.0.0.0/0 | trust |
host | all | all | 127.0.0.1/32 |
md5 |
|
# |
host | all | all | 0.0.0.0/0 | scram-sha-256 |
最后,重启 PostgreSQL。