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
根目录找不到这个文件,而且在我另一台我可以连接成功服务器上,也不存在这个文件。
求大神解答!感谢~
PHP中文网2017-04-18 09:45:52
建議看下官方文件:
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了
PHPz2017-04-18 09:45:52
只修改 pg_hba.conf
文件是不够的,还要修改 postgresql.conf
的 listen_addresses
配置項
可以透過 show data_directory;
來找到 postgresql 的 PGDATA
高洛峰2017-04-18 09:45:52
你用mysql -uroot -p - P -h
試試能不能遠端登入mysqld
參考問題linux終端機能連接mysql資料庫,但是透過php程式連接mysql連不起