AlexaShemetova
@AlexaShemetova
While I'm breathing - I love and believe

Как подключиться к postgreSQL на опенсервере из node.js?

Всем привет, я новичок, осваиваю разработку бэка на ноде, создала базу на postgreSQL через опенсервер, в консоли опенсервера показывает версию node.js, подскажите пожалуйста дальнейшие шаги для подключения из ноды?
Мои действия - запускаю сервер на хосте 3000, из постмана делаю запрос, в консоли получаю ошибку из кракозябр, ничего не понятно.

На данный момент код такой, что не так делаю?

Подключение:
const Pool = require('pg').Pool

const pool = new Pool({
    user: 'postgres',
    password: '',
    host: 'localhost',
    port: 5432,
    database: 'testable'
});

module.exports = pool;


Запрос:
const express = require('express');
const app = express();
const pool = require('./db');

const PORT = process.env.PORT || 3000;

app.use(express.json())

app.post('/userdata', async (req, res) => {
    try {
        const { username } = req.body
        // console.log(req.body)
        const newUser = await pool.query(
            `INSERT INTO testable (username) VALUES ($1) RETURNING *`,
            [username]
        )
        res.json(newUser)
    } catch (err) {
        console.error(err +  ' ошибка');
    }
})

app.listen(PORT, () => console.log(`Server started on post ${PORT}`));
  • Вопрос задан
  • 1521 просмотр
Решения вопроса 1
AlexaShemetova
@AlexaShemetova Автор вопроса
While I'm breathing - I love and believe
Интересная особенность опенсервера - в названии базы database нужно указывать не таблицу с которой работаешь, а postgres, а в запросах уже указывать название таблицы
const Pool = require('pg').Pool

const pool = new Pool({
    user: 'postgres',
    password: 'postgres',
    host: 'localhost',
    port: 5432,
    database: 'postgres' // тут
});

module.exports = pool;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы