JS postgres - неверное имя пользователя подключения - PullRequest
0 голосов
/ 03 мая 2020

Итак, я пытаюсь подключить мою локальную postgres БД к моему node.js серверу. Но я сталкиваюсь с досадной проблемой неправильного имени пользователя.

error: password authentication failed for user "Yoav Genish"

журнал ошибок:

  name: 'error',
  length: 169,
  severity: 'FATAL',
  code: '28P01',

Yoav Genish - мой win10 имя пользователя и postgres просто по умолчанию это как superadmin.

У меня есть пользователь с правами доступа к БД с именем me, и я указал его в файле .env.

Вот файл .env:

HOST='localhost'
  USER = 'me'
  DATABASE= 'api'
  PASSWORD= 'password'
  PORT=5432 '

и вот код:

require('dotenv').config();
const Pool= require('pg').Pool;
const ENVDATA = {
    HOST: process.env.HOST,
    USER: process.env.USER,
    DATABSE: process.env.DATABASE,
    PORT: process.env.PORT,
    PASSWORD: process.env.PASSWORD
    }
var pool = new Pool(ENVDATA);

Также я убедился, что ENVDATA действительно данные в файле .env.

снова, проблема в том, что я хочу Войдите в локальную БД с именем пользователя me, но я продолжаю получать вышеуказанную ошибку.

заранее спасибо!

1 Ответ

2 голосов
/ 04 мая 2020

Кажется, это проблема синтаксиса. Нужно использовать свойства в нижнем регистре при передаче данных в Pool, что означает

const ENVDATA = {
    host : process.env.HOST,
    user: process.env.USER,
    .
    .
    .

Но я нашел еще более "чистое" решение, и вместо этого используется строка URI:

const PGURI = `postgres://${process.env.USER}:${process.env.PASSWORD}@$
{process.env.HOST}:${process.env.PORT}/${process.env.DATABASE}`;
var pool = new Pool({
    connectionString: PGURI
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...