Postgresql:连接被拒绝.检查主机名和端口是否正确以及postmaster是否接受TCP/IP连接

 手机用户2502876057 发布于 2023-02-07 16:47

我试图连接postgresql但我收到此错误.

org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

我的pg_hba.conf文件是这样的.

 TYPE  DATABASE        USER            CIDR-ADDRESS            METHOD

# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

如果有人愿意解释这里有什么问题,我将非常感激,我该如何纠正它.

1 个回答
  • 你引用的错误与此无关pg_hba.conf; 它没有连接,没有授权连接.

    执行错误消息所说的内容:

    检查主机名和端口是否正确以及postmaster是否接受TCP/IP连接

    您尚未显示产生错误的命令.假设您在localhost端口上连接5432(标准PostgreSQL安装的默认设置),则:

    PostgreSQL没有运行

    PostgreSQL没有监听TCP/IP连接(listen_addressesin postgresql.conf)

    PostgreSQL只监听IPv4(0.0.0.0127.0.0.1),你在IPv6(::1)上连接,反之亦然.这似乎是一些旧的Mac OS X版本的问题,这些版本具有奇怪的IPv6套接字行为,并且在一些较旧的Windows版本上.

    PostgreSQL正在侦听与您连接的端口不同的端口

    (不太可能)有iptables阻止环回连接的规则

    (如果你没有连接localhost,它也可能是阻止TCP/IP连接的网络防火墙,但我猜你正在使用默认值,因为你没有说).

    所以......检查一下:

    ps -f -u postgres应列出postgres流程

    sudo lsof -n -u postgres |grep LISTEN或者sudo netstat -ltnp | grep postgres应该显示PostgreSQL正在监听的TCP/IP地址和端口

    顺便说一句,我想你一定是旧版本.在我的9.3安装中,错误更加详细:

    $ psql -h localhost -p 12345
    psql: could not connect to server: Connection refused
            Is the server running on host "localhost" (::1) and accepting
            TCP/IP connections on port 12345?
    

    2023-02-07 16:51 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有