python - psycopg2连接远程数据库被拒绝
大家讲道理
大家讲道理 2017-04-18 09:43:52
0
3
503
psycopg2.OperationalError: could not connect to server: Connection refused
    Is the server running on host "45.32.1XX.2XX" and accepting
    TCP/IP connections on port 5432?

远程数据库端口已经打开了:

tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      11516/postgres                
tcp6       0      0 ::1:5432                :::*                    LISTEN      11516/postgres

网上查说要修改pg_hba.conf,但是我在postgresql根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。

求大神解答!感谢~

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回覆(3)
洪涛

建議看下官方文件:

https://www.postgresql.org/do...

一般postgresql的預設規則設定的很變態, 只允許localhost連線, 你這個情況確實需要修改下pg_hba.conf, 至於這個檔案的路徑, 視不同的linux發行版本以及安裝人員的癖好而定, 但可以肯定是必然存在的, 你可以簡單搜尋下他的路徑

locate pg_hba.conf
或者
find / -type f -iname "pg_hba.conf" 2>/dev/null

找到後修改下安全策略, 基本上預設都有簡單註解, 很好理解(放行本機ip位址)

改完後重啟下postgresql服務就OK了

PHPzhong

只修改 pg_hba.conf 文件是不够的,还要修改 postgresql.conflisten_addresses 配置項

可以透過 show data_directory; 來找到 postgresql 的 PGDATA

小葫芦

你用mysql -uroot -p - P -h試試能不能遠端登入mysqld
參考問題linux終端機能連接mysql資料庫,但是透過php程式連接mysql連不起

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!