Извлечение данных из базы данных и отображение на сервере - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь написать код узла js, используя PostgreSQL для извлечения данных из базы данных и отображения в браузере. Когда программа запускается, консоль показывает следующее сообщение:

Сервер работает .. на порту 4000

Однако, когда мы пытаемся запустить программу в веб-браузере, отображаются следующие ошибки.

код

const pg        = require('pg');
const express   = require('express');
const app       = express();

const config = {
    user: 'postgres',
    database: 'student',
    password: 'student',
    port: 5432
};

// pool takes the object above -config- as parameter

const pool = new pg.Pool(config);

app.get('/', (req, res, next) => {
   pool.connect(function (err, client, done) {
       if (err) {
           console.log("Can not connect to the DB" + err);
       }
       client.query('SELECT * FROM country()', function (err, result) {
            done();
            if (err) {
                console.log(err);
                res.status(400).send(err);
            }
            res.status(200).send(result.rows);
       })
   })
});

app.listen(4000, function () {
    console.log('Server is running.. on Port 4000');
});

ОШИБКА

Can not connect to the DBError: connect ECONNREFUSED 127.0.0.1:5432
F:\DatabaseProject6\server.js:52
       client.query('SELECT * FROM country()', function (err, result) {
              ^

TypeError: Cannot read property 'query' of undefined
    at PendingItem.callback (F:\DatabaseProject6\server.js:52:15)
    at client.connect (F:\DatabaseProject6\node_modules\pg-pool\index.js:248:23)
    at Connection.connectingErrorHandler (F:\DatabaseProject6\node_modules\pg\lib\client.js:163:14)
    at Connection.emit (events.js:189:13)
    at Socket.reportStreamError (F:\DatabaseProject6\node_modules\pg\lib\connection.js:71:10)
    at Socket.emit (events.js:189:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

В чем может быть проблема?

1 Ответ

0 голосов
/ 26 апреля 2019

Этот тип ошибки

Невозможно подключиться к DBError: connect ECONNREFUSED

обычно потому, что ваш сервер PostgreSQL не работает, ваши учетные данные неверны иливаша база данных не существует.

...