即使.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)
答案 0 :(得分:2)
当我使用PostgreSQL的默认密码时,我遇到了同样的问题。尝试从命令行按如下所示更改它。
psql
\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
},
})
文件中添加方言属性。
现在问题解决了...谢谢