无法重置PostgreSQL数据库的密码

时间:2019-12-12 20:38:57

标签: postgresql psql

这个问题可能已经在这里的某个地方得到了回答,但是三天后我一直找不到解决方案,我想我已经检查了所有的stackoverflow。

我的问题是我忘记了登录Postgresql数据库(v11)的密码(或至少无法登录)。

我在cmd(使用Windows 7)中输入

psql -h localhost -U 'my_user_name' 

然后返回“输入密码”,然后我得到

  

psql FATAL:用户'my_user_name'的密码验证

因此,我进入pg_hba.conf文件并更改了行

host    all             all             ::1/128                 md5 

host    all             all             ::1/128                 trust

但是运行psql -h localhost -U'my_user_name'

此后我得到

  

“ psql致命:用户'my_user_name'不存在”

我该如何解决?我只想重设密码,以便我可以再次登录数据库。

2 个答案:

答案 0 :(得分:0)

postgres超级用户可能仍然存在。尝试运行psql -h localhost -U postgres

然后,您可以更改原始用户:

ALTER USER my_user_name PASSWORD 'password';

答案 1 :(得分:0)

您不需要通过IP域全部信任。 您只需要通过Unix套接字域连接进行更改

local all all trust

重新启动PostgreSQL服务器 要登录,只需要用户名

psql -U postgres

然后只需重置密码

\password postgres

退出更改并将其还原为config,最后一次重新启动。您可以使用新密码访问自己的帐户。