本地Node+Express连接PostgreSQL报错ECONNREFUSED 127.0.0.1:5432求助
本地Node.js+Express连接PostgreSQL报错
ECONNREFUSED 127.0.0.1:5432排查方案 问题情况
本地基于Node.js+Express搭建的服务请求PostgreSQL数据库时,访问localhost:8000/todos接口持续触发连接拒绝错误:Error: connect ECONNREFUSED 127.0.0.1:5432。已确认以下信息:
- 数据库用户名已改为默认的
postgres,密码、主机、数据库名、端口配置均核对无误 - PostgreSQL服务已启动,可通过SQL Shell执行
SELECT * FROM todos;查询手动添加的数据 - 未使用Docker,查阅同类问题后仍无法解决

控制台完整错误信息
Server runnnig on PORT 8080 Error: connect ECONNREFUSED 127.0.0.1:5432 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16) { errno: -111, code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 5432 }
相关代码文件
server.js
const PORT = 8080; const express = require("express"); const app = express(); const pool = require("./db"); app.get("/todos", async (req, res) => { try { const todos = await pool.query("SELECT * FROM todos"); res.json(todos.rows); } catch (err) { console.error(err); } }); app.listen(PORT, () => console.log(`Server runnnig on PORT ${PORT}`));
db.js
const Pool = require("pg").Pool; require("dotenv").config(); const pool = new Pool({ user: "postgres", password: process.env.PASSWORD, host: "localhost", port: 5432, database: "todoapp", }); module.exports = pool;
排查步骤
- 检查PostgreSQL监听地址:
打开PostgreSQL的postgresql.conf配置文件(Windows默认路径:C:\Program Files\PostgreSQL\[版本号]\data;Linux默认路径:/var/lib/postgresql/[版本号]/main),找到listen_addresses配置项,确保值为'*'或包含'127.0.0.1',修改后重启PostgreSQL服务。 - 验证pg_hba.conf权限规则:
同目录下的pg_hba.conf文件,添加或确认存在以下规则,允许本地用户通过密码连接:
保存后重启PostgreSQL服务。host todoapp postgres 127.0.0.1/32 scram-sha-256 - 确认环境变量加载情况:
在db.js中添加打印代码,验证process.env.PASSWORD是否正确读取:
若输出console.log("Loaded password:", process.env.PASSWORD);undefined,检查.env文件是否在项目根目录、文件名是否正确(需以.开头),或临时替换为明文密码测试(测试后记得改回环境变量)。 - 用psql测试TCP连接:
执行命令psql -h 127.0.0.1 -p 5432 -U postgres -d todoapp,若连接失败说明PostgreSQL的TCP监听未正常开启;若连接成功则问题出在Node.js代码或依赖上。 - 检查pg包版本兼容性:
确认pg包版本与PostgreSQL版本兼容,可尝试卸载后重装:npm uninstall pg npm install pg - 替换localhost为127.0.0.1:
在db.js中将host: "localhost"改为host: "127.0.0.1",避免DNS解析异常。
内容的提问来源于stack exchange,提问作者user20948241
相关产品推荐
相关产品推荐

