无法使用 express 连接到 postgreSQL 数据库

Posted

技术标签:

【中文标题】无法使用 express 连接到 postgreSQL 数据库【英文标题】:can't connect to postgreSQL database with express 【发布时间】:2018-12-24 15:30:38 【问题描述】:

我在我的 Windows 机器上下载并安装了 postgreSQL,我还下载了用户界面的 pgAdmin 4。我正在开发一个 node-js 项目但我无法连接到我的数据库。我正在使用 knex,这是我的代码

     const PORT = 3001;
     const bcrypt = require('bcrypt');
     const saltRounds = 10;
     const express = require('express');
     const bodyParser = require('body-parser');
     const cors = require('cors');
     const app = express();
     const knex = require('knex');

    const db = knex(
         client: 'pg',
         connection: 
             host : 'localhost',
             user : '',
             password : '',
             database : 'SmartBrain'
             
   );

   db.select('*').from('users').then(resp => console.log(resp)); 

我收到了这个错误:

应用程序正在端口 3001 上运行
未处理的拒绝错误:不允许角色“MostfaWindows”登录
    在 Connection.parseE (C:\Users\MostfaWindows\Desktop\faceRecogniti onApi\node_modules\pg\lib\connection.js:553:11)
    在 Connection.parseMessage (C:\Users\MostfaWindows\Desktop\faceRec ognitionApi\node_modules\pg\lib\connection.js:378:19)
    在套接字。 (C:\Users\MostfaWindows\Desktop\faceRecognitionApi\node_modules\pg\lib\connection.js:119:22)
    在 emitOne (events.js:116:13)
    在 Socket.emit (events.js:211:7)
    在 addChunk (_stream_readable.js:263:12)
    在 readableAddChunk (_stream_readable.js:250:11)
    在 Socket.Readable.push (_stream_readable.js:208:10)
    在 TCP.onread (net.js:594:20)

“MostfaWindows”是我的计算机名称。 任何帮助将不胜感激,谢谢。

【问题讨论】:

您连接 Postgres 的配置不正确。检查 localhost、数据库端口、数据库用户和数据库密码的值。 在我的 pgAdmin 我有这个 URL,我应该把它而不是 localhost? "127.0.0.1:65480/browser" 你的 PG 数据库的用户是什么? 【参考方案1】:

我通过简单地创建一个用户、授予它选择权限并将用户名放在连接的用户字段中解决了这个问题。

【讨论】:

以上是关于无法使用 express 连接到 postgreSQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法通过 python 通过 SSH 连接到 postgres 服务器

无法使用 docker 连接到 ipv6 中的 postgres

节点服务器无法通过 Docker 连接到 Postgres,使用 TypeORM

设置 PostgreSQL,无法连接到数据库 postgres

docker-compose spring boot无法连接到Postgres [重复]

无法从 golang 连接到 docker postgres 容器