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

ank*_*ena 14 postgresql node.js 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)
Run Code Online (Sandbox Code Playgroud)

cra*_*eld 6

我假设您在使用 Sequelize 和 Node.js 时遇到此错误。当我遇到以下错误时,我遇到了同样的错误:

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

我能够通过将其替换为连接 ur来解决该问题:

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

这里gql的名称是DATABASE在我的.env文件。

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


Yon*_*wit 5

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

  1. psql
  2. \password

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