ВЫБЕРИТЕ ИЗ не работает в node js с PG

#node.js #database #postgresql #view

#node.js #База данных #postgresql #Вид

Вопрос:

Я пытаюсь извлечь некоторую информацию из представления Postgree SQL в базе данных Postgre SQL. Однако результат всегда пустой. Когда я выполняю тот же запрос в базе данных, это дает мне ожидаемые результаты.

 const privq = await db.query('SELECT * FROM user_privilege');
console.log(privq.rows);
//[]
const projectsQuery= await db.query('SELECT * FROM projects');
console.log(projectsQuery.rows);
//[{id:1,name:'Example Project',description:'Lorem Ipsum...'},
//{id:2,name:'Test Proj',description:'testing'}...]
  

Этого не происходит с другими запросами. Объект user_privilege является представлением, а не таблицей.

Обновить

Я проверил базу данных, и оказалось, что Datagrip (моя программа для взаимодействия с БД) запрашивал СТАРЫЙ сервер, в то время как node запрашивал новый. Новый на самом деле не имеет никаких привилегий вообще, только проекты.

Комментарии:

1. Я предполагаю, что в первом случае выдается ошибка, но ваш код просто проглатывает ее. Попробуйте посмотреть, есть ли какие-либо ошибки на выходе.

2. @TimBiegeleisen Я проверил после прочтения вашего комментария. Кажется, в выходных данных нет ошибки, просто пустой массив

3. Попробуйте использовать этот запрос в вашем Node.js код: SELECT * FROM blahblahblah … это также не выдает никакой ошибки?

4. @TimBiegeleisen написано «ошибка: отношение «бла-бла-бла» не существует»

5. @TimBiegeleisen Вы правы! Я проверил базу данных, и оказалось, что Datagrip (моя программа для взаимодействия с БД) запрашивал СТАРЫЙ сервер, в то время как node запрашивал новый. Новый на самом деле не имеет никаких привилегий вообще, только проекты.