Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 未处理的拒绝SequelizeConnectionError:用户的密码身份验证失败;ankitj“;_Node.js_Postgresql_Sequelize.js - Fatal编程技术网

Node.js 未处理的拒绝SequelizeConnectionError:用户的密码身份验证失败;ankitj“;

Node.js 未处理的拒绝SequelizeConnectionError:用户的密码身份验证失败;ankitj“;,node.js,postgresql,sequelize.js,Node.js,Postgresql,Sequelize.js,即使.env文件中指定的DB用户不同,也会发生这种情况。请注意,“ankitj”也是我系统的用户名。我不明白为什么会这样 以下是错误: Unhandled rejection SequelizeConnectionError: password authentication failed for user "ankitj" at connection.connect.err (/home/ankitj/Desktop/skillbee/node_modules/sequelize/lib

即使.env文件中指定的DB用户不同,也会发生这种情况。请注意,“ankitj”也是我系统的用户名。我不明白为什么会这样

以下是错误:

Unhandled rejection SequelizeConnectionError: password authentication failed for user "ankitj"
    at connection.connect.err (/home/ankitj/Desktop/skillbee/node_modules/sequelize/lib/dialects/postgres/connection-manager.js:128:24)
    at Connection.connectingErrorHandler (/home/ankitj/Desktop/skillbee/node_modules/pg/lib/client.js:140:14)
    at Connection.emit (events.js:160:13)
    at Socket.<anonymous> (/home/ankitj/Desktop/skillbee/node_modules/pg/lib/connection.js:124:12)
    at Socket.emit (events.js:160:13)
    at addChunk (_stream_readable.js:269:12)
    at readableAddChunk (_stream_readable.js:256:11)
    at Socket.Readable.push (_stream_readable.js:213:10)
    at TCP.onread (net.js:599:20)
未处理的拒绝SequelizeConnectionError:用户“ankitj”的密码身份验证失败
在connection.connect.err(/home/ankitj/Desktop/skillbee/node_modules/sequelize/lib/dialogons/postgres/connection manager.js:128:24)
位于Connection.connectingErrorHandler(/home/ankitj/Desktop/skillbee/node_modules/pg/lib/client.js:140:14)
在Connection.emit(events.js:160:13)
在插座上。(/home/ankitj/Desktop/skillbee/node_modules/pg/lib/connection.js:124:12)
在Socket.emit(events.js:160:13)
在addChunk(_stream_readable.js:269:12)
在readableAddChunk(_stream_readable.js:256:11)
在Socket.Readable.push(_stream_Readable.js:213:10)
在TCP.onread(net.js:599:20)

我假设您使用Sequelize with Node.js获得此错误。当我遇到以下问题时,我遇到了相同的错误:

const sequelize = new Sequelize(
  process.env.DATABASE,
  process.env.DATABASE_USER,
  process.env.DATABASE_PASSWORD,
  {
    dialect: 'postgres',
  }
)
我通过以下方式解决了该问题:

其中,
gql
是我的
.env
文件中
数据库的名称


用户“ankitj”执行命令以运行节点脚本,因此该脚本正试图作为该用户进行连接。我第一次尝试在Postgres端通过添加一个用户并授予权限来解决这个问题,但没有成功——我很想看到这个解决方案——但指定一个连接url对我来说很有效。

我没有使用
进程.env
变量,而是将实际名称放在引号(“”)中我也遇到了同样的错误,但我通过使用模板字符串解决了这个问题

const sequelize = new Sequelize(`${process.env.DB_NAME}`, `${process.env.DB_USER}`, `${process.env.DB_PASSWORD}`, {
  host: process.env.DB_HOST,
  dialect: 'postgres'
});

我在使用PostgreSQL的默认密码时也遇到了同样的问题。尝试从命令行更改它,如下所示

  • psql
  • \password

  • 然后输入新密码并更新您的
    .env
    文件,这应该可以使用。

    欢迎使用SO;)请在网上阅读这篇文章。这将包括对您试图实现的目标、代码(或相关代码段)的正确描述,以及您迄今为止所做的努力,以及可能的错误消息。还建议提供完整的..是否已安装和配置dotenv?很可能您的环境变量没有正确加载。在我的情况下,它不起作用。但是,相反地,用引号将env变量包装起来对我起了作用。不管怎样,谢谢。这对我来说很有效。问题可能与在第一种情况下未提及服务器名称(localhost)有关。我认为这是Sequelize中的一个错误,这意味着您的问题与Sequelize无关,是由于您滥用process.env造成的
    const sequelize = new Sequelize(`${process.env.DB_NAME}`, `${process.env.DB_USER}`, `${process.env.DB_PASSWORD}`, {
      host: process.env.DB_HOST,
      dialect: 'postgres'
    });