【问题标题】:error: password authentication failed for user "myuser"错误:用户“myuser”的密码验证失败
【发布时间】:2017-04-15 13:31:30
【问题描述】:

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

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             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

我在这里做错了什么?

【问题讨论】:

    标签: javascript node.js postgresql debian


    【解决方案1】:

    正如the documentation 所述,local 仅适用于 UNIX 套接字连接,而您正在建立到 localhost 的 TCP 连接。

    使用这样的一行:

    host    all    myuser    127.0.0.1/32    trust
    

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

    【讨论】:

    • 它应该可以正常工作。检查 PostgreSQL 服务器日志以查看问题所在。
    • 当我明文输入密码并选择密码作为身份验证方法时,它可以工作,但是当我将其更改为 MD5 时,它不起作用。我也尝试将 md5 哈希放在 url 中,但这也不起作用。密码网址应该是什么样的?
    • 您应该描述“不起作用”的含义 - 如果启用 log_connections,PostgreSQL 日志条目是什么?您不应使用 MD5 哈希作为密码,而应使用您提供的原始密码。你的网址是什么?如果你想把密码放在那里,它应该看起来像jdbc:postgresql://localhost/test?user=fred&amp;password=secret。
    • 无法在 ubuntu 20.04 中运行。还试图使所有连接信任。还是不行
    猜你喜欢
    • 2019-11-18
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 2021-03-23
    • 2021-06-16
    • 2017-11-14
    • 2011-12-03
    相关资源
    最近更新 更多