[英]Postgres server refused connection
也許這個問題重復了,但是我沒有使用centos 7和Postgres 9.3的任何解決方案。 在通過錯誤連接PostgreSQL服務器時,
錯誤
連接被拒絕服務器是否在主機“ localhost”(:: 1)上運行並在端口5432上接受TCP / IP連接
即使我設置了pg_hba.config文件,但仍然遇到相同的錯誤,我試圖刪除postmaster.pid
但是卻出現錯誤, no such file and no pid exist
請告訴我解決方案
我有同樣的問題,我通過解釋解決了這個問題:
“黑暗中的狂野刺殺:您所在的機器上裝有IPv6
解析器,其中localhost
默認為IPv6地址::1
,但postgresql.conf
listen_addresses設置為127.0.0.1
或0.0.0.0
並非*
或使用使用C庫構建的較舊的PostgreSQL,而C庫沒有透明的IPv6
支持。
將listen_addresses
更改為localhost
,並確保localhost
解析為IPv4
和IPv6
地址,或將其設置為::1
127.0.0.1
以顯式指定IPv4
和IPv6
。 或只是將其設置為*
以在所有接口上監聽。 或者,如果您不關心IPv6
,請連接到127.0.0.1
而不是localhost
。”
參考鏈接在這里 。
我認為這篇 post
也可以為您提供幫助。
嘗試檢查防火牆是否允許該端口上的連接。
如果在Ubuntu命令上sudo ufw status
結果會像這樣
To Action From
-- ------ ----
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
8000 ALLOW Anywhere
Nginx Full ALLOW Anywhere
您會看到端口5432不允許。
現在運行命令sudo ufw allow 5432/tcp
並檢查ufw狀態
sudo ufw status
現在將返回
22 LIMIT Anywhere
443 ALLOW Anywhere
80 ALLOW Anywhere
8000 ALLOW Anywhere
Nginx Full ALLOW Anywhere
5432/tcp ALLOW Anywhere
如果這不起作用,則可能是您不允許IP監聽postgres。
將postgres.conf文件中的listen_address = 'localhost'
更改為listen_address = '*'
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.