1、關(guān)閉數(shù)據(jù)庫服務(wù)
創(chuàng)新互聯(lián)主營乳山網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā),乳山h5微信小程序開發(fā)搭建,乳山網(wǎng)站營銷推廣歡迎乳山等地區(qū)企業(yè)咨詢
2、進(jìn)入數(shù)據(jù)庫的工作空間目錄 (如果是建庫是沒有另外指定,應(yīng)該就是postgresql安裝目錄下的 data 目錄)
3、編輯修改文件 pg_hba.conf, 把連接權(quán)限設(shè)置的 md5 加密方式 改成 trust以我的為例,原本設(shè)置是
1
2
3
4
# TYPE DATABASE USER CIDR-ADDRESS a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYrjP-mWb1n1fLn1TznjFW0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnW0knj6vnjc3PWm4rHbznHn3r0"target="_blank" class="baidu-highlight"METHOD/a
# IPv4 local connections:
host all all 127.0.0.1/32 md5
修改為
1
2
3
4
# TYPE DATABASE USER CIDR-ADDRESS a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YYrjP-mWb1n1fLn1TznjFW0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnW0knj6vnjc3PWm4rHbznHn3r0"target="_blank" class="baidu-highlight"METHOD/a
# IPv4 local connections:
host all all 127.0.0.1/32 trust
4、從新啟動postgresql數(shù)據(jù)庫服務(wù)
5、可以不用密碼就能用postgres用戶登陸,然后執(zhí)行修改用戶密碼的操作
6、修改 pg_hba.conf 文件,改回到 md5 方式,再重啟數(shù)據(jù)庫服務(wù)就ok了
7、再執(zhí)行建用戶,和建庫操作
createuser.exe -s -P foo -U postgres
createdb.exe --encoding=UTF8 --owner=foo --template=template_postgis -Ufoo
參數(shù):
--encoding=UTF8 設(shè)置數(shù)據(jù)庫的字符集
--owner=foo 設(shè)置數(shù)據(jù)庫的所有者
--tmplate=template_postgis 設(shè)置建庫的模板,該模板支持空間數(shù)據(jù)操作
--Ufoo 用foo用戶身份建立數(shù)據(jù)庫
我也是,剛剛找到要這么辦的,不過還沒試:
psql -d postgres -U postgres -c "ALTER USER postgres PASSWORD '123456789';"
你看可以嗎?
相信如果你在重新安裝或者升級Postgresql數(shù)據(jù)庫的時候都需要你輸入在第一次安裝時候的密碼,這個密碼往往我們都會忘記,那么萬一忘記了該咋辦?難道真就不能安裝了?答案當(dāng)然是否定的。在項目中,本人就遇到過這樣的情況,一番摸索過后發(fā)現(xiàn)終于發(fā)現(xiàn)其中的奧秘,首先,Postgresql 安裝時,會往用戶組中添加一個postgresql用戶,而這個用戶就是阻止你密碼驗證不能通過的罪魁禍?zhǔn)?,好吧,將其刪除,再試試呢,成功了。別急,有些時候,你在安裝的時候還會報一些錯誤,我同事就遇到此類情況,最后發(fā)現(xiàn)Postgresql 還會在當(dāng)前用戶下記錄一下信息,比如管理工具的默認(rèn)用戶名和密碼等信息,密碼是不加密的哦?。∫晕业腤in 7 32bit Enterprise version 為例,我的用戶為:Abc_Zhou,則在C:\Users\abc_zhou\AppData\Roaming folder下看到有postgresql,刪掉吧,好了,至此,你將能夠完全安裝成功了。
有時候在不知道密碼的情況下如何能夠使用數(shù)據(jù)庫呢?當(dāng)然前提是你知道用戶名。這個是比較糾結(jié)的問題,用以上方法重裝?顯然不行,誰能保證我的數(shù)據(jù)呢。別急,咱們也有辦法,首先,來到數(shù)據(jù)庫的安裝目錄data文件夾下面,我的是9.0.4 version,路徑為(PostgreSQL\9.0\data),然后找到pg_hba.conf文件,在最下放有一下幾句話:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
好吧,將所有的md5修改稱為trust,重啟數(shù)據(jù)庫服務(wù),再去界面登錄看看,記住不要輸入密碼哦。當(dāng)你登錄成功了之后難道想改個密碼還不容易?
Alter user 'postgres' with password '123456';
至此,重新把method改回md5吧,重啟服務(wù),使用剛剛修改的密碼登錄,果斷成功了。
好了,到此基本上完成我們的全部需求了,可是,有時候我們又不想改掉原本的密碼,或許系統(tǒng)中還會有其他軟件使用此用戶呢。好,那還不簡單,重新創(chuàng)建一個用戶不就得了,不錯好方法。但是我要告訴你一個更絕的辦法,就是如果有人在管理工具中登錄并保存過密碼,那你就可以通過以下文件直接找出密碼:C:\AllUsers\abc_zhou\AppData\postgresql 中的pgpass.conf 文件(機(jī)器環(huán)境同上),記事本打開就ok了,是不是可以看到密碼了,就是這么簡單。
是Windows 下嗎?windows下就直接用管理員賬戶為postgres指定新密碼,或者干脆刪除這個用戶,安裝的時候讓安裝程序自己重建去。
Linux下,
user$ sudo passwd postgres
輸入新的UNIX密碼:
請再次輸入一遍:
密碼成功更改!
user$