gpt4 book ai didi

node.js - 无法通过 Linux 上的 Node 连接到 Postgresql 数据库

转载 作者:太空狗 更新时间:2023-10-29 12:40:42 33 4
gpt4 key购买 nike

当我尝试通过命令行连接到我的数据库(在 Linux 机器上)时,我能够做到这一点:

$ psql -U me -W
Password for user me:
psql (9.5.7)
Type "help" for help.

me=#

我也可以不用密码访问它:

    $ psql -U me # this works

但是,当我尝试通过 Node 库 knex 进行连接时(它只是在后台使用 pg),我收到以下错误:

error: password authentication failed for user "me"

我认为它与在 Linux 中设置的 Linux 用户/Postgres 用户的组合有关,但我没有尝试修复它。我尝试更改我的连接 URL 字符串,但即使是正确的(我认为)也不起作用:

DATABASE_URL=postgres://localhost:5432/mydb
DATABASE_URL=postgres://me:mypassword@localhost:5432/mydb
# (neither works)

我也尝试添加:

host mydb me 127.0.0.1/32 trust

到我的 /etc/postgresql/9.5/main/pg_hba.conf,但这也没有帮助。

我很确定我只需要以某种方式告诉 Node 以正确的方式“使用此用户/密码”......但我不知道如何做。

如有任何帮助,我们将不胜感激。

编辑我尝试将我的 /etc/postgresql/9.5/main/pg_hba.conf 设置为:

host    all         all         127.0.0.1/32         trust
host all al ::1/128 trust

或者换句话说“让每个人都没有密码”。当我 psql -W 它现在接受我输入的任何密码......但即便如此我仍然得到:

error: password authentication failed for user "me"

当 Node/knex/pg 尝试连接时出错。

最佳答案

看来 UNIX 域套接字没有得到 node.js 的优先处理。

基于 test for pg-connection-string ,我怀疑

socket:///var/run/postgresql/?db=mydb

应该可以。

关于node.js - 无法通过 Linux 上的 Node 连接到 Postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45174241/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com