Mikro-orm 错误:用户“postgres"的密码验证失败; [英] Mikro-orm error: password authentication failed for user "postgres"
问题描述
我正在尝试按照这个 React GraphQL TypeScript 教程进行编码
该项目使用 MikroOrm 与 PostgreSQL 数据库进行通信.我在 Ubuntu 18.04 上安装了 PostgreSQL(12.4),创建了一个postgres"文件.用户和我可以登录到用户并运行 psql
没有任何问题.但是,当我开始使用 mikro-orm
命令时,例如 npx mikro-orm migration:create
(视频时间戳),我收到以下错误:
The project uses MikroOrm to communicate with a PostgreSQL database. I have PostgreSQL(12.4) installed on my Ubuntu 18.04, created a "postgres" user and I can log in to the user and run psql
without any problems. However, when I start using mikro-orm
commands like npx mikro-orm migration:create
(video timestamp), I get the following error:
error: password authentication failed for user "postgres"
at Parser.parseErrorMessage (/home/<username>/newstack/node_modules/pg-protocol/src/parser.ts:357:11)
at Parser.handlePacket (/home/<username>/newstack/node_modules/pg-protocol/src/parser.ts:186:21)
at Parser.parse (/home/<username>/newstack/node_modules/pg-protocol/src/parser.ts:101:30)
at Socket.<anonymous> (/home/<username>/newstack/node_modules/pg-protocol/src/index.ts:7:48)
at Socket.emit (events.js:315:20)
at Socket.EventEmitter.emit (domain.js:483:12)
at addChunk (_stream_readable.js:295:12)
at readableAddChunk (_stream_readable.js:271:9)
at Socket.Readable.push (_stream_readable.js:212:10)
at TCP.onStreamRead (internal/stream_base_commons.js:186:23) {
length: 104,
severity: 'FATAL',
code: '28P01',
detail: undefined,
hint: undefined,
position: undefined,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: 'auth.c',
line: '333',
routine: 'auth_failed'
}
这是 PostgreSQL 日志文件中的错误:
Here is the error in PostgreSQL log file:
2020-08-28 01:45:18.218 EEST [23088] postgres@newstack FATAL: password authentication failed for user "postgres"
2020-08-28 01:45:18.218 EEST [23088] postgres@newstack DETAIL: Password does not match for user "postgres".
Connection matched pg_hba.conf line 96: "host all all 127.0.0.1/32 md5"
这是我的 pg_hba.conf:
And here is my pg_hba.conf:
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
local all all peer
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
我想如果连接是本地的,那么它就不需要密码,但为什么不使用本地套接字?如果无法更改,那么我如何向 MikroOrm 提供我的数据库凭据?
I have figured that if the connection would've been local, then it wouldn't have required a password, but why isn't it using local socket? If that can't be changed, then how can I give MikroOrm my database credentials?
推荐答案
更改md5"信任"像这样:
Change "md5" to "trust" like this:
local all all peer
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
local replication all peer
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
这篇关于Mikro-orm 错误:用户“postgres"的密码验证失败;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!