PostgreSQL之連接失敗的問題及解決
PostgreSQL連接失敗問題
問題
在pgAdmin中,將本地?cái)?shù)據(jù)庫連接的host由localhost或127.0.0.1改為自己的真實(shí)ip–10.xxx.xxx.xxx后,連接失敗
報(bào)錯(cuò)如下:
psql: could not connect to server: Connection refused
Is the server running on host "my host name" (IP) and accepting
TCP/IP connections on port 5432?
解決
出現(xiàn)上述問題時(shí),需修改postgresql.conf和pg_hba.conf文件。
此文件位于postgresql數(shù)據(jù)文件目錄中,默認(rèn)為/var/lib/pgsql/data/。
將postgresql.conf修改如下:listen_addresses = '*'。
pg_hba.conf中增加需要連接該數(shù)據(jù)庫主機(jī)的ip地址。
如下所示,增加對(duì)主機(jī)10.xxx.xxx.xxx的信任。
host all all 10.xxx.xxx.xxx/32 trust
如上設(shè)置后,使用10.xxx.xxx.xxx可正常連接。
解釋
原來,在客戶端訪問PostgreSQL數(shù)據(jù)庫時(shí),PostgreSQL會(huì)讀取文件pg_hba.conf判斷是否信任該主機(jī),故所有需要連接PostgreSQL Server的主機(jī)都應(yīng)當(dāng)在pg_hba.conf中添加對(duì)其信任,即使是Server主機(jī)也不例外!
PostgreSQL連接出錯(cuò) could not connect to server:Connection refused(0x0000274D/10061)
使用navicat連接本地PostgreSQL數(shù)據(jù)庫時(shí)報(bào)錯(cuò):
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host"localhost" (:1) and acceptingTCP/IP connections on port 5433 ?
could not connect to server: Connection refused (0x0000274D/10061) Is the server running on host"localhost" (127.0.0.1) and acceptingTCP/IP connections on port 5433?

首先檢查一下是不是沒有啟動(dòng)PostgreSQL服務(wù),因?yàn)闆]啟動(dòng)服務(wù)可能會(huì)報(bào)這個(gè)錯(cuò)誤(我就是);
方法如下
win+R打開輸入命令框,輸入services.msc打開服務(wù)列表。

右鍵啟動(dòng)

再次嘗試連接數(shù)據(jù)庫,看是否成功。
如果沒成功那就進(jìn)行以下步驟
1、在postgresql的安裝文件夾\9.5\data\pg_hba.conf里面找到“# IPv4 local connections:”

然后在這行上面添加“local pgsql all trust”,
在它下面的“host all all 127.0.0.1/32 md5”
下面添加一行,內(nèi)容為“host all all 192.168.91.1/24 md5”

注:127.0.0.1/32和192.168.91.1/24中的32與24,用32表示該IP被固定,用24表示前3位固定,后面一位可以由自己設(shè),這樣,前3位ip地址與該設(shè)定相同的計(jì)算機(jī)就可以訪問postgresql數(shù)據(jù)庫。
2、PostgreSQL\9.5\data\postgresql.conf文件中,找到“#listen_addresses = 'localhost'”,把它改成“listen_addresses = '*'”。
這樣,postgresql就可以監(jiān)聽所有ip地址的連接。

3、然后重啟postgresql服務(wù)。如果系統(tǒng)啟用了防火墻,請(qǐng)先關(guān)閉。如果要使用pgadmin連接遠(yuǎn)程的數(shù)據(jù)庫服務(wù)器,須在SSL的選項(xiàng)中選擇允許。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用PostgreSQL數(shù)據(jù)庫做地理位置app應(yīng)用
項(xiàng)目中用到了postgreSQL中的earthdistance()函數(shù)功能計(jì)算地球上兩點(diǎn)之間的距離,中文的資料太少了,我找到了一篇 英文的、講的很好的文章,特此翻譯,希望能夠幫助到以后用到earthdistance的同學(xué)2014-03-03
PostgreSQL模式匹配與正則表達(dá)式方法總結(jié)
在postgresql中使用正則表達(dá)式時(shí)需要使用關(guān)鍵字“~”,以表示該關(guān)鍵字之前的內(nèi)容需匹配之后的正則表達(dá)式,這篇文章主要給大家介紹了關(guān)于PostgreSQL模式匹配與正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2022-11-11
postgresql行轉(zhuǎn)列與列轉(zhuǎn)行圖文教程
PostgreSQL是一種開源的關(guān)系型數(shù)據(jù)庫,它提供了多種管理工具來操作數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于postgresql行轉(zhuǎn)列與列轉(zhuǎn)行的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06
Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法
這篇文章主要介紹了Postgresql創(chuàng)建新增、刪除與修改觸發(fā)器的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Mysql?8.0.33?如何遷移至?Postgresql?16.2
由于云平臺(tái)需要改造,將Mysql替換成Postgresql,話說回來,Postgresql和Mysql語法有些差異,如何穩(wěn)妥的進(jìn)行遷移,下面給大家分享Mysql?8.0.33?如何遷移至?Postgresql?16.2,感興趣的朋友跟隨小編一起看看吧2024-05-05
PostgreSQL如何查看事務(wù)所占有的鎖實(shí)操指南
這篇文章主要給大家介紹了關(guān)于PostgreSQL如何查看事務(wù)所占有鎖的相關(guān)資料,文中通過代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PostgreSQL具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10
Ubuntu中卸載Postgresql出錯(cuò)的解決方法
這篇文章主要給大家介紹了關(guān)于在Ubuntu中卸載Postgresql出錯(cuò)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09

