You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:打开pgAdmin 4新窗口时出现dial tcp连接拒绝错误

解决pgAdmin 4连接PostgreSQL时出现“dial tcp 127.0.0.1:50582: getsockopt: connection refused”错误的详细步骤

嘿,作为刚接触PostgreSQL和pgAdmin 4的新手,遇到这个连接拒绝的错误太正常了!别慌,咱们一步步来排查解决,每一步都给你讲得明明白白:

第一步:确认PostgreSQL服务是否正在运行

pgAdmin本质是个管理工具,得先确保数据库本身的服务启动了才行:

  • Windows系统:按下Ctrl+Shift+Esc打开任务管理器,切换到「服务」标签,找到名称类似postgresql-x64-XX(XX是你的PostgreSQL版本号,比如16)的服务,查看状态是否为「正在运行」。如果没运行,右键点击它选择「启动」。
  • macOS系统:
    • 如果你是通过官方安装包安装的,打开「系统偏好设置」,找到PostgreSQL图标,查看服务状态,点击「Start Server」启动;
    • 如果你用Homebrew安装的,打开终端输入brew services list,找到postgresql条目,要是状态不是started,就输入brew services start postgresql启动服务。
  • Linux系统:打开终端输入sudo systemctl status postgresql,看输出里的active状态,如果是inactive (dead),就输入sudo systemctl start postgresql启动服务。

第二步:检查pgAdmin的服务器连接配置是否正确

你看到的端口50582很可能是配置错误——PostgreSQL默认端口是5432,咱们去核对一下:

  1. 打开pgAdmin 4,找到你创建的服务器连接,右键选择「属性」;
  2. 切换到「连接」标签页:
    • 确认「主机名/地址」是127.0.0.1或者localhost(这两个都代表本地);
    • 重点看「端口」:如果没特意改过PostgreSQL的端口,这里肯定是填错成50582了,改成默认的5432就行;
    • 再确认「用户名」是你数据库的超级用户(默认是postgres),密码也对应正确。

第三步:检查PostgreSQL的配置文件,允许本地连接

有时候数据库本身没开放本地连接权限,咱们去调整两个关键配置文件:

  1. 找到PostgreSQL的data目录(不同系统位置不同):
    • Windows:一般是C:\Program Files\PostgreSQL\XX\data(XX为版本号);
    • macOS(Homebrew):/usr/local/var/postgres;
    • Linux:/var/lib/postgresql/XX/main(XX为版本号)。
  2. 编辑pg_hba.conf文件(Windows用记事本,Linux/macOS可能需要sudo权限,比如sudo nano /var/lib/postgresql/16/main/pg_hba.conf):
    找到类似下面的行:

    host all all 127.0.0.1/32 scram-sha-256
    如果这里是peer或ident(Linux/macOS默认可能是这个),会影响密码连接,改成scram-sha-256(PostgreSQL 10+推荐)或者md5,保存文件。

  3. 编辑postgresql.conf文件:
    找到listen_addresses这一行,确保它的值是'*'或者包含'127.0.0.1',比如listen_addresses = 'localhost,127.0.0.1',这样数据库才会监听本地的连接请求。保存文件后,记得重启PostgreSQL服务(回到第一步的方法重启)。

第四步:检查防火墙是否阻止了端口连接

防火墙可能会拦截pgAdmin和PostgreSQL之间的通信:

  • Windows:打开「Windows Defender防火墙」→「高级设置」,查看「入站规则」里是否有允许PostgreSQL端口(默认5432)的规则。如果没有,新建一条入站规则,允许TCP端口5432的连接。
  • macOS:打开「系统设置」→「网络」→「防火墙」,确保防火墙没有阻止PostgreSQL进程;或者临时关闭防火墙测试(终端输入sudo pfctl -d,测试完可以再用sudo pfctl -e打开)。
  • Linux:终端输入sudo ufw status查看防火墙状态,如果是active,输入sudo ufw allow 5432/tcp允许5432端口的连接,再输入sudo ufw reload生效。

如果以上所有步骤都试过还是不行,那可能是PostgreSQL安装过程中出了问题,可以尝试卸载重装(记得备份好已有的数据哦)。

内容的提问来源于stack exchange,提问作者chionae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:14:42