node.js - 未处理的拒绝 SequelizeConnectionError:用户“ankitj”的密码验证失败
问题描述
即使 .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)
解决方案
我假设您在使用带有 Node.js 的 Sequelize 时遇到此错误。当我遇到以下错误时,我遇到了同样的错误:
const sequelize = new Sequelize(
process.env.DATABASE,
process.env.DATABASE_USER,
process.env.DATABASE_PASSWORD,
{
dialect: 'postgres',
}
)
我能够通过用连接 ur替换它来解决问题:
const sequelize = new Sequelize("postgres://postgres:postgres@localhost/gql", {
dialect: 'postgres'
// anything else you want to pass
})
我的文件gql
中的名称在哪里。DATABASE
.env
用户“ankitj”执行命令以运行 Node 脚本,因此该脚本正在尝试以该用户身份进行连接。我首先尝试在 Postgres 端通过添加用户并授予权限来解决此问题,但无法使其正常工作——我有兴趣查看该解决方案——但指定连接 url 对我有用。
推荐阅读
- javascript - 如何在反应中正确创建 cmd+K 键盘快捷键?
- python - 将输入保存到列表中?
- c++ - QT CQTDeployer 运行失败:config/controlScript.js
- c# - 如何在 3D 空间中旋转一堆图像?
- itext7 - 如何防止我的文本被垂直截断?
- jquery - Fancybox 3.5 - 如何使模态 iframe 使用源 URL?
- postgresql - 有没有办法将两行两列postgressql?
- drake-r-package - 如何使用动态文件更新 Drake 目录
- phaser-framework - 试图在 Phaser 中获得鼠标滚轮缩放效果
- json - 尝试使用 JSON 数组插入非属性列表对象