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

时间:2018-12-11 08:45:30

标签: node.js postgresql sequelize.js

即使.env文件中指定的数据库用户不同,也会发生这种情况。记录“ 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)

5 个答案:

答案 0 :(得分:2)

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

  1. psql
  2. \password

然后输入一个新密码并更新您的.env文件,该文件应该可以工作。

答案 1 :(得分:0)

我假设您将Sequelize与Node.js结合使用时遇到此错误。遇到以下情况时,我遇到了相同的错误:

const sequelize = new Sequelize(
  process.env.DATABASE,
  process.env.DATABASE_USER,
  process.env.DATABASE_PASSWORD,
  {
    dialect: 'postgres',
  }
)

我可以通过将其替换为a connection ur来解决该问题:

const sequelize = new Sequelize("postgres://postgres:postgres@localhost/gql", {
  dialect: 'postgres'
  // anything else you want to pass
})

其中gql是我的DATABASE文件中.env的名称。

用户“ ankitj”执行命令以运行Node脚本,因此该脚本正尝试以该用户身份进行连接。我首先尝试通过添加用户和授予权限在Postgres端解决此问题,但无法使其正常运行-我很想看到该解决方案-但指定连接网址对我来说很有效。

答案 2 :(得分:0)

我没有使用--steps Name="Command Runner",Jar="command-runner.jar",Args=["spark-submit","--deploy-mode=cluster", "--master=yarn", "/home/hadoop/my_script.py"] 变量,而是使用实际名称,而是用引号(“”)括起来,并且可以使用。

答案 3 :(得分:0)

我也遇到了相同的错误,但是我使用模板字符串解决了问题

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

答案 4 :(得分:0)

我在连接 NodeJS 和 Postgres SQL 时遇到了同样的问题。我找到了解决方案。我们需要检查 library(dplyr) library(tidyr) df1 %>% group_by(x1) %>% fill(x2) 文件(数据库配置文件)和 index.js(其中您调用的 db.config.js 属性名称是否匹配。

const sequelize = new Sequelize(.......)

将上面的参数行提到为 (dbConfig.database, dbConfig.user, dbConfig.password) 我们需要与 db 核对。 config.js 文件

注意:请在 // db.config.js module.exports = { user: '******', host: 'localhost', database: '***********', password: '***', port: 5432, dialect: "postgres", // we need to implement pool: { max: 5, min: 0, acquire: 30000, idle: 10000 } }; const Sequelize = require("sequelize"); const dbConfig = require("../config/db.config.js"); const sequelize = new Sequelize(dbConfig.database, dbConfig.user, dbConfig.password, { host: dbConfig.host, dialect: dbConfig.dialect, operatorsAliases: false, pool: { max: dbConfig.pool.max, min: dbConfig.pool.min, acquire: dbConfig.pool.acquire, idle: dbConfig.pool.idle }, }) 文件中添加方言属性。

现在问题解决了...谢谢

Console verbiage log