错误:用户&Quot;myuser&Quot;的密码验证失败

本教程将介绍错误:用户&Quot;myuser&Quot;的密码验证失败的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

错误:用户&Quot;myuser&Quot;的密码验证失败 教程 第1张

问题描述

如果我在/etc/postgresql/9.4/main/pg_hba.conf中有一条记录特别信任我的特定用户

# TYPE  DATABASE  USERADDRESS  METHOD
localall myuser  trust

由于我使用的是Debian,因此我按如下方式重新启动PostgreSQL

sudo /etc/init.d/postgresql restart

下面是我测试的整个源文件:

const pg = require('pg');
const connectionString = "postgres://myuser:mypassword@localhost/mydbname";

const client = new pg.Client(connectionString);
client.connect();
const query = client.query('SELECT * FROM USERS');
query.on('end', () => { client.end(); });

这是我一直收到的错误:

error: password authentication failed for user "myuser"
 at Connection.parseE (/home/myuser/webserver/node_modules/pg/lib/connection.js:539:11)
 at Connection.parseMessage (/home/myuser/webserver/node_modules/pg/lib/connection.js:366:17)
 at Socket.<anonymous> (/home/myuser/webserver/node_modules/pg/lib/connection.js:105:22)
 at emitOne (events.js:96:13)
 at Socket.emit (events.js:188:7)
 at readableAddChunk (_stream_readable.js:176:18)
 at Socket.Readable.push (_stream_readable.js:134:10)
 at TCP.onread (net.js:551:20)

还值得注意的是,做以下工作:

psql -h localhost -U myuser mydb

我在这里做错了什么?

推荐答案

ASthe documentation状态,local仅用于UNIX套接字连接,而您正在与localhost建立连接。

使用如下行:

host all myuser 127.0.0.1/32 trust

使用IPv4信任来自localhost的所有连接(对于IPv6使用地址::1/128)。

好了关于错误:用户&Quot;myuser&Quot;的密码验证失败的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。