Postman连接PostgreSQL无响应,但Postgres CLI可正常使用求助
排查Postman请求无响应的步骤
既然终端能正常操作PostgreSQL,说明数据库本身没问题,问题大概率出在服务器配置、代码逻辑或者网络连接环节,按下面的步骤逐一排查:
先确认服务器是否正常运行并能接收请求
- 打开启动服务器的终端,查看有没有报错信息(比如端口被占用、数据库连接失败的日志),如果有报错先解决
- 在终端用
curl命令直接测试接口,比如你的GET接口是http://localhost:5000/api/todos,就执行curl http://localhost:5000/api/todos,如果没返回内容或卡住,说明服务器端的问题,不是Postman的问题
核对数据库连接配置(db.js)
- 检查配置里的
host是不是localhost或127.0.0.1,终端能连的话这个大概率没问题,但要确认用户名、密码、数据库名和你终端用的完全一致 - 看代码里数据库查询的逻辑,有没有未处理的错误?比如查询后没写
catch块,导致报错后服务器挂住,没给客户端返回响应
- 检查配置里的
检查接口路由和响应逻辑
- 确认Postman请求的URL和服务器路由完全匹配,比如课程里的路由是
/api/todos,你是不是少写了/api前缀? - 看路由处理函数里,有没有正确发送响应?比如查询到数据后,是不是调用了
res.json(结果)或者res.send()?如果漏了这一步,请求会一直处于等待状态,Postman就会显示“发送请求...”
- 确认Postman请求的URL和服务器路由完全匹配,比如课程里的路由是
排查网络和防火墙问题
- 确认Postman请求的地址是
localhost:端口号,而不是你的本机IP(比如192.168.x.x),如果服务器只绑定了127.0.0.1,用本机IP可能连不上 - 检查Linux Mint的防火墙状态:执行
sudo ufw status,如果防火墙开启,确认是否允许服务器端口的入站请求(比如端口5000,执行sudo ufw allow 5000)
- 确认Postman请求的地址是
测试CORS配置(可选)
如果服务器没配置CORS,虽然Postman默认不限制,但有些极端情况可能有影响,可以在服务器代码里添加CORS中间件(比如cors包),重启服务器再试
内容的提问来源于stack exchange,提问作者Elco
相关产品推荐
相关产品推荐

