You need to enable JavaScript to run this app. Ubuntu 20 DreamCompute环境下PostgreSQL 13远程连接超时求助
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20 DreamCompute环境下PostgreSQL 13远程连接超时求助

DreamCompute平台Ubuntu 20环境PostgreSQL问题排查实操指引

远程连接超时(connection attempt time out)排查路径

核心判断:这类报错属于网络链路层故障,和PostgreSQL的用户权限、认证配置没有关系,不要一开始就调整pg_hba、密码相关配置。你已经完成的postgresql.conf、pg_hba.conf修改都是正确的服务端配置,但这些配置生效的前提是网络请求能正常抵达PostgreSQL服务进程——请求包根本没走到PostgreSQL的认证环节,就被中途拦截了,改再多认证规则也解决不了超时问题。
按从外到内的顺序逐层排查:

  • 检查DreamCompute平台的虚拟安全组、网络ACL规则:确认入方向已放通TCP 5432端口,允许客户端来源网段访问。很多人只改了服务器内部的PostgreSQL配置,完全漏掉云平台默认拦截未开放端口流量的规则,这是云环境部署数据库最常见的超时诱因。
  • 检查服务器本地UFW防火墙规则:Ubuntu 20默认启用UFW,执行sudo ufw status查看现有规则,确认5432/tcp端口已允许入站访问;如果没有对应规则,执行sudo ufw allow 5432/tcp添加放通规则,不要直接关停UFW服务。
  • 验证PostgreSQL服务的实际监听状态:不要只看配置文件的修改结果,执行ss -tlnp | grep 5432查看输出,确认服务正在监听0.0.0.0:5432所有地址。如果输出显示仅监听127.0.0.1:5432,说明修改完postgresql.conf的listen_addresses参数后没有重启服务,执行sudo systemctl restart postgresql@13-main让配置生效。
  • 连通性前置验证:在本地客户端执行telnet 你的DreamCompute服务器公网IP 5432,如果该命令依然超时,说明故障还在网络拦截层;如果能正常连通,再启动psql客户端做正式连接测试,此时如果出现密码错误、认证不允许的报错,再去检查pg_hba.conf的规则匹配顺序。

matt用户视角看不到已创建目标数据库的排查思路

  • 明确PostgreSQL的列表显示逻辑:\l命令对没有访问权限的数据库默认做隐藏展示,普通用户看不到自己没有连接权限的库是正常设计,不是数据库故障。当前matt视角下能看到的postgres、strapi、template0、template1四个库,都是matt账号已经具备基础访问权限的库;之前创建的目标库如果是用postgres超级用户创建的、没有给matt授权,自然不会出现在列表里。
  • 修复操作:切换到postgres超级用户登录数据库,给matt账号授予目标库的基础访问权限:
    • 执行GRANT CONNECT ON DATABASE 你的目标数据库名 TO matt;
    • 如果需要matt能在库内创建表、操作数据库对象,再补充执行GRANT USAGE ON SCHEMA public TO matt;
  • 权限验证:授权完成后用matt账号重新登录数据库执行\l,即可看到之前被隐藏的目标库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 23:15:01