1. 程式人生 > 其它 >PostgreSQL密碼重置方法_WOLF

PostgreSQL密碼重置方法_WOLF

今天我在用命令列登陸postgresql的時候,忽然忘記密碼了,重試了N次還是不行,然後我就試著上網找解決之道,最後完美的解決了,可是後來我才發現還有個更簡單的方法,該篇部落格用來記錄自己沙雕行為。

工具已登陸

這個就是最簡單的方法,你有工具登陸過,完全可以通過工具來修改(可是我當時完全沒想到這個。。。),我是通過Navicat來連線的,可以直接通過Navicat來修改步驟如下:
1、連線資料庫
2、點選角色
3、選擇角色
4、填入新密碼
5、儲存之後,關閉連線,編輯連線就OK了。

工具未登入

Windows

1、找到Postgresql安裝目錄下的data,開啟資料夾,找到pg_hba.conf
ps:如果大家找不到,那我推薦一個檔案搜尋神器:Listary,大家可以去試試,賊好用

2.用記事本格式開啟,拉到最下面,找到所有md5,全都改為trust

3.重啟資料庫,然後連線資料庫,不輸入密碼,直接點連線,此時連線成功
ps:在windows的控制面板中,找到管理工具,然後找到服務:postgresql,點選右鍵 ,重啟就行了。

4.修改密碼
在客戶端修改

alter user postgres with password 'YOUR PASSWORD'

5.或者重新開啟pgAdmin(即資料庫),連線伺服器,不輸入密碼,直接點連線,此時連線成功

6.修改密碼,右鍵登陸角色中要修改密碼的賬戶,開啟屬性,點選定義,輸入密碼,然後確定,此時修改密碼成功。如果重新開啟定義會發現密碼欄裡依舊空白,但此時密碼已是新密碼。

7,最後將第一二步中的trust改回md5。重新啟動資料庫,輸入密碼,成功連線伺服器。
參考連結:https://mp.csdn.net/mdeditor/96288907

Linux

如果是Linux下的話:

1、找到pg_hba.conf路徑
執行

ps ax | grep postgres | grep -v postgres:

得到:

25653 pts/0    S+     0:00 /usr/lib/postgresql/9.3/bin/psql -h 192.168.10.10 -p 5432 -U postgres -W
26679 ?        S      0:00 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
26924 pts/7    R+     0:00 grep --color=auto postgres

注意結果中有一個config_file,而config_file=/etc/postgresql/9.3/main/就是我們配置所在地

2、無密碼postgres登入
修改pg_hba.confg

#原來是
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
#改成
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 md5

ps:如果你重啟之後還是登陸不了,也可以將全部md5修改為trust

重啟postgresql服務

sudo service postgresql restart

登入

psql -h 127.0.0.1 -U postgres

3、登入修改密碼
修改密碼

alter user postgres with password 'YOUR PASSWORD'

最後將pg_hba修改回去就好啦,也就是將所有的trust還原為md5。

該方法參考連線:https://www.jianshu.com/p/1464f3b966e9

本文轉自 https://blog.csdn.net/qq_36196879/article/details/96288907,如有侵權,請聯絡刪除。