【问题标题】:Postgres server refused connectionPostgres 服务器拒绝连接
【发布时间】:2018-02-01 04:44:32
【问题描述】:

也许这个问题重复了,但我没有得到任何解决方案,我使用的是 centos 7 和 Postgres 9.3。 在连接PostgreSQL服务器时出错,

错误

连接被拒绝服务器是否在主机“localhost”上运行(::1) 并在端口 5432 上接受 TCP/IP 连接

即使我设置了 pg_hba.config 文件,但我仍然遇到同样的错误 我试图删除postmaster.pid,但出现错误no such file and no pid exist 请告诉我解决方法

【问题讨论】:

    标签: postgresql


    【解决方案1】:

    我有同样的问题,我通过解释解决了这个问题:

    “在黑暗中野蛮刺伤:您在一台带有IPv6 解析器的机器上,其中localhost 默认为IPv6 地址::1,但postgresql.conf 中的listen_addresses 设置为127.0.0.1 或@987654328 @ 不是 * 或者您使用的是使用 C 库构建的较旧的 PostgreSQL,该库不支持透明的 IPv6

    listen_addresses 更改为localhost 并确保localhost 解析为IPv4IPv6 地址,或者将其设置为::1127.0.0.1 以明确指定IPv4 和@ 987654339@。或者只是将其设置为* 以侦听所有接口。或者,如果您不关心 IPv6,请连接到 127.0.0.1 而不是 localhost。"

    参考链接here

    我觉得thispost也可以帮到你。

    【讨论】:

    • 请检查你的database.yml是否是同一个端口,在我的postgresql-9.2上默认使用5433而不是5432,别忘了重启postgres服务器,祝你好运
    • 如果不工作,看我的编辑,这个错误可以用可变形式解决,取决于可以是什么
    【解决方案2】:

    尝试检查防火墙是否允许该端口上的连接。
    如果在 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。
    listen_address = 'localhost' 更改为listen_address = '*'postgres.conf 文件中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多