解决方法:

        1、关闭数据库服务

        2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

        3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust

              以我的为例,原本设置是




postgresql 忘记 postgres 密码_unix

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5


postgresql 忘记 postgres 密码_unix


              修改为



postgresql 忘记 postgres 密码_unix

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust


postgresql 忘记 postgres 密码_unix


          4、从新启动postgresql数据库服务


          5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作                 



alter user postgres with password 'foobar';


           6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务就ok了


为人:谦逊、激情、博学、审问、慎思、明辨、 笃行

学问:纸上得来终觉浅,绝知此事要躬行

为事:工欲善其事,必先利其器。

态度:道阻且长,行则将至;行而不辍,未来可期

转载请标注出处!



参考博文:

​如何重置postgresql用户密码​

解决方法:

        1、关闭数据库服务

        2、进入数据库的工作空间目录 (如果是建库是没有另外指定,应该就是postgresql安装目录下的 data 目录)

        3、编辑修改文件 pg_hba.conf, 把连接权限设置的 md5 加密方式 改成 trust

              以我的为例,原本设置是




postgresql 忘记 postgres 密码_unix

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5


postgresql 忘记 postgres 密码_unix


              修改为



postgresql 忘记 postgres 密码_unix

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust


postgresql 忘记 postgres 密码_unix


          4、从新启动postgresql数据库服务


          5、可以不用密码就能用postgres用户登陆,然后执行修改用户密码的操作                 



alter user postgres with password 'foobar';


           6、修改 pg_hba.conf 文件,改回到 md5 方式,再重启数据库服务就ok了