Error: connect ECONNREFUSED 127.0.0.1:5432
Error: connect ECONNREFUSED 127.0.0.1:5432
我正在尝试向我部署在 Heroku 上的 Node + Express 服务器访问的 postgreSQL 数据库发出请求。这是我在 运行 'heroku logs' 时收到的错误:错误:连接 ECONNREFUSED 127.0.0.1:5432,以及其他一些错误。我在前端使用 axios 来发出请求。
这是我的 server.js 文件:
// express
const express = require('express');
// environment variables
require('dotenv').config();
// data base connector
const db = require('./db');
// cors
const cors = require('cors');
// express instance
const app = express();
// use cors
app.use(cors());
// attach data to req.body
app.use(express.json());
// get all articles
app.get('/api/v1/articles', async (req, res, next) => {
try {
// query database
const results = await db.query('SELECT * FROM articles;');
// send results
res.status(200).json({
results: results.rows
});
// handle error
} catch (err) {
next(err);
}
});
// get individual article
app.get('/api/v1/articles/:id', async (req, res, next) => {
try {
// query database
const article = await db.query(`SELECT * FROM articles WHERE id = ;`, [req.params.id]);
// send back data
res.status(200).json({
article: article
});
// handle error
} catch (err) {
next(err);
}
});
// get article's comments
app.get('/api/v1/articles/:id/comments', async (req, res, next) => {
try {
// query database
const comments = await db.query(`SELECT * FROM comments WHERE article_id = ;`, [req.params.id]);
// send back data
res.status(200).json({
comments: comments
});
// handle error
} catch (err) {
next(err);
}
});
// add comment
app.post('/api/v1/articles/:id/comments', async (req, res, next) => {
try {
// post comment in database
const comment = await db.query(`INSERT INTO comments (article_id, author, text)
VALUES (, , ) returning *;`, [req.body.article_id, req.body.author, req.body.text]);
// send comment back
res.status(201).json({
comment
});
// handle error
} catch (err) {
next(err);
}
})
// listen
const port = process.env.PORT || 3001;
app.listen(port, () => {
console.log(`Server now listening on PORT ${port}`);
});
我应该使用 pg 库连接到我的数据库,并且池从 .env 文件获取凭据。我能够连接到 pgAdmin 中的数据库并编写查询、制作表格等。
非常感谢任何帮助
检查您的数据库连接配置。该错误表明它试图在 127.0.0.1
上连接到 PostgreSQL,这是 LOOPBACK ip 地址。这意味着正在尝试访问您机器上的服务器。您需要通过为 PostgreSQL 所在的服务器指定正确的地址来配置连接 运行
我正在尝试向我部署在 Heroku 上的 Node + Express 服务器访问的 postgreSQL 数据库发出请求。这是我在 运行 'heroku logs' 时收到的错误:错误:连接 ECONNREFUSED 127.0.0.1:5432,以及其他一些错误。我在前端使用 axios 来发出请求。
这是我的 server.js 文件:
// express
const express = require('express');
// environment variables
require('dotenv').config();
// data base connector
const db = require('./db');
// cors
const cors = require('cors');
// express instance
const app = express();
// use cors
app.use(cors());
// attach data to req.body
app.use(express.json());
// get all articles
app.get('/api/v1/articles', async (req, res, next) => {
try {
// query database
const results = await db.query('SELECT * FROM articles;');
// send results
res.status(200).json({
results: results.rows
});
// handle error
} catch (err) {
next(err);
}
});
// get individual article
app.get('/api/v1/articles/:id', async (req, res, next) => {
try {
// query database
const article = await db.query(`SELECT * FROM articles WHERE id = ;`, [req.params.id]);
// send back data
res.status(200).json({
article: article
});
// handle error
} catch (err) {
next(err);
}
});
// get article's comments
app.get('/api/v1/articles/:id/comments', async (req, res, next) => {
try {
// query database
const comments = await db.query(`SELECT * FROM comments WHERE article_id = ;`, [req.params.id]);
// send back data
res.status(200).json({
comments: comments
});
// handle error
} catch (err) {
next(err);
}
});
// add comment
app.post('/api/v1/articles/:id/comments', async (req, res, next) => {
try {
// post comment in database
const comment = await db.query(`INSERT INTO comments (article_id, author, text)
VALUES (, , ) returning *;`, [req.body.article_id, req.body.author, req.body.text]);
// send comment back
res.status(201).json({
comment
});
// handle error
} catch (err) {
next(err);
}
})
// listen
const port = process.env.PORT || 3001;
app.listen(port, () => {
console.log(`Server now listening on PORT ${port}`);
});
我应该使用 pg 库连接到我的数据库,并且池从 .env 文件获取凭据。我能够连接到 pgAdmin 中的数据库并编写查询、制作表格等。 非常感谢任何帮助
检查您的数据库连接配置。该错误表明它试图在 127.0.0.1
上连接到 PostgreSQL,这是 LOOPBACK ip 地址。这意味着正在尝试访问您机器上的服务器。您需要通过为 PostgreSQL 所在的服务器指定正确的地址来配置连接 运行