@GNG999

Как правильно прописать конфигурацию данные Postgres в Node js?

я на мак ос сейчас сижу в след базе данных: 66db3b30347c8365087164.png

имя базы silvershop
имя юзера silvershop
ну и пароль

у меня есть след код в ноде
require("dotenv").config();
const { Pool } = require("pg");

const isProduction = process.env.NODE_ENV === "production";
const database =
  process.env.NODE_ENV === "test"
    ? process.env.POSTGRES_DB_TEST
    : process.env.POSTGRES_DB;
console.log('database',database);

const connectionString = `postgresql://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${database}`;
console.log('connectionString',connectionString);
const pool = new Pool({
  connectionString,
  /*
    SSL is not supported in development
    */
  ssl: isProduction ? { rejectUnauthorized: false } : false,
});

module.exports = {
  query: (text, params) => pool.query(text, params),
  end: () => pool.end(),
};


Как мне правильно теперь заполнить env переменные чтоб успешно подсоединиться к базе ?
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
@rPman
имена переменных бери из строки:
const connectionString = `postgresql://${process.env.POSTGRES_USER}:${process.env.POSTGRES_PASSWORD}@${process.env.POSTGRES_HOST}:${process.env.POSTGRES_PORT}/${database}`;

Хост у тебя судя по скрину - localhost, в крайнем случае используй то что возвращает консоль по команде hostname

чтобы понять что происходит, назначение ключей psql смотри в документации или по команде psql --help
p.s. смотри внимательно сообщение об ошибке
в особо извращенных случаях сервер может быть не локальным, а его адрес прописан у пользователя в домашнем каталоге в .pgpass или pg_service.conf
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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