【发布时间】:2020-08-03 16:37:33
【问题描述】:
问题:
相关信息:Windows 10、Node、knex、PostgreSQL
我正在尝试运行 knex CLI 命令 migrate:latest from cmd, knex migrate:latest --env development。
我收到“错误:用户的密码验证失败”
我的第一个问题是指定的用户 - 在我的 knexfile.js 配置文件中,我正在导出具有已定义连接的开发对象,其中定义了我的所有环境变量。
development: {
client: 'pg',
connection: {
host: "localhost",
port: process.env.DB_PORT,
username: process.env.DB_USER,
password: process.env.DB_PW,
database: process.env.DB_NAME
}
}
因此,尽管我试图以“postgres”身份登录数据库,但 knex 正试图从相关的错误消息中以 Windows 用户身份登录,这是我个人计算机上的唯一帐户。我以该用户身份登录,使用此用户帐户安装 PostgreSQL,并使用此用户初始化数据库。
使用 psql,我可以使用我的 knex 配置中指定的密码登录到我的 knex 配置中指定的数据库。事实上,我为所有用户使用相同的密码来减少问题中的变量数量。
除了尝试以这种方式解决问题之外,我将 pg_hba.conf 文件中的所有身份验证设置都设置为“信任” - 但这也不能解决问题。
【问题讨论】:
标签: node.js postgresql psql knex.js koa