解決PostgreSQL數(shù)據(jù)庫連接報(bào)錯(cuò):psql:?error:?FATAL:?password?authentication?failed?for?user?"postgres"
一、環(huán)境介紹
1.1 本次實(shí)踐環(huán)境介紹
環(huán)境如下,使用yum方式安裝PostgreSQL
| hostname | IP地址 | 操作系統(tǒng)版本 | PostgreSQL版本 |
|---|---|---|---|
| jeven | 192.168.3.166 | centos 7.6 | 13.10 |
1.2 PostgreSQL介紹
PostgreSQL(經(jīng)常被簡稱為Postgres)是一個(gè)開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它基于SQL語言實(shí)現(xiàn)了所有主流功能,支持事務(wù)處理、并發(fā)控制、復(fù)雜查詢、外鍵、觸發(fā)器、存儲(chǔ)過程等高級(jí)功能。它具備高度可擴(kuò)展性、穩(wěn)定性和安全性,是許多大型企業(yè)級(jí)應(yīng)用的首選數(shù)據(jù)庫系統(tǒng)之一。
1.3 PostgreSQL特點(diǎn)
- 開源免費(fèi):PostgreSQL是一個(gè)開源軟件,可以免費(fèi)使用和修改源代碼,同時(shí)也可以在商業(yè)項(xiàng)目中使用。
- 高度可擴(kuò)展:PostgreSQL支持水平擴(kuò)展和垂直擴(kuò)展,可以輕松地處理海量數(shù)據(jù)和高并發(fā)請(qǐng)求。
- 多種數(shù)據(jù)類型支持:PostgreSQL支持許多數(shù)據(jù)類型,包括JSON、數(shù)組、范圍、XML、UUID等等。
- 備份和恢復(fù):PostgreSQL提供了多種備份和恢復(fù)方式,包括物理備份和邏輯備份等。
- 安全性:PostgreSQL提供了許多安全機(jī)制,如SSL/TLS加密、訪問控制、認(rèn)證和授權(quán)等。
- 擴(kuò)展性:PostgreSQL支持許多擴(kuò)展,如空間數(shù)據(jù)支持、全文本搜索等。
二、報(bào)錯(cuò)場景
遠(yuǎn)程連接PostgreSQL數(shù)據(jù)庫時(shí),密碼驗(yàn)證錯(cuò)誤。
[root@jeven ~]# psql -h192.168.3.166 -Upostgres -W Password: psql: error: FATAL: password authentication failed for user "postgres"

三、分析原因
- 分析以下可能原因,進(jìn)行逐一排查。
1.密碼忘記輸入錯(cuò)誤;
2./var/lib/pgsql/13/data/postgresql.conf文件配置錯(cuò)誤;
3./var/lib/pgsql/13/data/pg_hba.conf文件配置錯(cuò)誤;
4.設(shè)置數(shù)據(jù)庫用戶密碼時(shí)錯(cuò)誤。
四、檢查相關(guān)配置
- 檢查/var/lib/pgsql/13/data/postgresql.conf文件嗎,以下內(nèi)容是否修改正確。
listen_addresses = '*' # what IP address(es) to listen on;
- 檢查/var/lib/pgsql/13/data/pg_hba.conf文件,以下內(nèi)容是否修改正確。
host all all 127.0.0.1/32 ident host all all 0.0.0.0/0 md5
- 檢查以上都正確后,重啟服務(wù),再行測試。
五、相關(guān)場景報(bào)錯(cuò)解決辦法
5.1 登錄密碼忘記
當(dāng)忘記登錄密碼,登錄本地PostgreSQL,重置密碼。
su - postgres
psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"
5.2 密碼設(shè)置錯(cuò)誤或未設(shè)置
數(shù)據(jù)庫的密碼設(shè)置錯(cuò)誤或未設(shè)置,在連接到本地服務(wù)后,重新設(shè)置即可。本次錯(cuò)誤就是大意將密碼錯(cuò)打了一個(gè)字母。
sudo -u postgres psql -c " ALTER USER postgres WITH PASSWORD 'postgres';"
5.3 配置文件出錯(cuò)
當(dāng)配置文件出錯(cuò),嘗試以下修改。
- 檢查/var/lib/pgsql/13/data/postgresql.conf文件嗎,以下內(nèi)容是否修改正確。
listen_addresses = '*' # what IP address(es) to listen on;
- 檢查/var/lib/pgsql/13/data/pg_hba.conf文件,以下內(nèi)容是否修改正確。
host all all 127.0.0.1/32 ident host all all 0.0.0.0/0 md5
- 檢查以上都正確后,重啟服務(wù),再行測試。
5.4 設(shè)置免密登錄
當(dāng)本地登錄出現(xiàn)問題時(shí),可以臨時(shí)設(shè)置免密登錄,修改密碼完成后,再將配置文件/var/lib/pgsql/13/data/pg_hba.conf修改為原來的。
- 設(shè)置免密登錄
vim /var/lib/pgsql/13/data/pg_hba.conf
host all all 127.0.0.1/32 trust host all all 0.0.0.0/0 trust
5.5 環(huán)境問題
清空環(huán)境或者換一個(gè)新環(huán)境,重新部署PostgreSQL數(shù)據(jù)庫。
六、PostgreSQL數(shù)據(jù)庫連接報(bào)錯(cuò)總結(jié)
數(shù)據(jù)庫連接配置錯(cuò)誤:檢查連接參數(shù)是否正確,包括數(shù)據(jù)庫地址、端口號(hào)、用戶名、密碼等,確保連接參數(shù)與實(shí)際情況相符。
數(shù)據(jù)庫服務(wù)未啟動(dòng):檢查數(shù)據(jù)庫服務(wù)是否已啟動(dòng),如果未啟動(dòng)則需要手動(dòng)啟動(dòng)數(shù)據(jù)庫服務(wù)。
數(shù)據(jù)庫權(quán)限問題:確保連接的用戶具有訪問數(shù)據(jù)庫的權(quán)限。
防火墻或網(wǎng)絡(luò)問題:確保防火墻未阻止數(shù)據(jù)庫訪問,并且網(wǎng)絡(luò)連接正常。
數(shù)據(jù)庫配置文件錯(cuò)誤:檢查數(shù)據(jù)庫配置文件是否正確設(shè)置,如數(shù)據(jù)庫監(jiān)聽地址等。
數(shù)據(jù)庫版本不兼容:檢查連接的客戶端版本是否與數(shù)據(jù)庫版本兼容。
總結(jié)
到此這篇關(guān)于解決PostgreSQL數(shù)據(jù)庫連接報(bào)錯(cuò):psql: error: FATAL: password authentication failed for user "postgres"的文章就介紹到這了,更多相關(guān)PostgreSQL報(bào)錯(cuò)psql: error: FATAL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PostgreSQL的外部數(shù)據(jù)封裝器fdw用法
這篇文章主要介紹了PostgreSQL的外部數(shù)據(jù)封裝器fdw用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
PostgreSQL 允許遠(yuǎn)程訪問設(shè)置的操作
這篇文章主要介紹了PostgreSQL 允許遠(yuǎn)程訪問設(shè)置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-12-12
postgresql 利用fdw來實(shí)現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通(推薦)
這篇文章主要介紹了postgresql 利用fdw來實(shí)現(xiàn)不同數(shù)據(jù)庫之間數(shù)據(jù)互通,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
postgresql數(shù)據(jù)庫連接數(shù)和狀態(tài)查詢操作
這篇文章主要介紹了postgresql數(shù)據(jù)庫連接數(shù)和狀態(tài)查詢操作,具有很好的參考價(jià)值,對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
postgreSQL中的row_number() 與distinct用法說明
這篇文章主要介紹了postgreSQL中的row_number() 與distinct用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01
postgresql 將逗號(hào)分隔的字符串轉(zhuǎn)為多行的實(shí)例
這篇文章主要介紹了postgresql 將逗號(hào)分隔的字符串轉(zhuǎn)為多行的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02
postgresql 中的幾個(gè) timeout參數(shù) 用法說明
這篇文章主要介紹了postgresql中的幾個(gè)timeout參數(shù)用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01

