【问题标题】:password authentication failed for user "postgres" and user 'postrgres' has no password用户“postgres”的密码身份验证失败,用户“postgres”没有密码
【发布时间】:2020-12-09 21:22:56
【问题描述】:

我正在关注如何使用 PRN 堆栈创建待办事项应用程序的教程。 (在 ubuntu 18.4 上工作,postgres 版本 12.3) 我确实安装了 PostrgreSQL,服务器在 5000 上运行,我可以使用“psql -U postgres”从命令行输入数据库,但是当我尝试将数据库与服务器连接时,出现此错误:password authentication failed for user "postgres" . 安装时没有要求我向用户“postgres”提供任何密码,因此我将 db 文件中的密码留空。

我的 db 文件如下所示:

const Pool = require("pg").Pool;

const pool = new Pool({
  user: "postgres",
  password: "",
  host: "localhost",
  port: 5432,
  database: "perntodo",
});

module.exports = pool;

我能做什么? 正如我在 stockoverflow 上的另一个问题中发现的那样,我确实将 pg_hba.conf 文件中的 postrgres 身份验证从对等设置为信任,但错误一直出现。

【问题讨论】:

  • 查看 PostgreSQL 日志文件中的消息。
  • 服务器在 5000 上运行?端口 5000 ?那么为什么你使用端口:5432,
  • 感谢您的链接,我看过这篇文章,但它并没有帮助我运行我的应用程序。

标签: postgresql ubuntu-18.04


【解决方案1】:

不要使用用户 postgres 将您的应用程序连接到 PostgreSQL。

  1. 为应用程序创建单独的用户。
  2. 仅向应用程序用户授予其需要访问的方案和表的严格权限。
  3. 为应用程序用户添加 pg_hba.conf 记录
  4. 享受

【讨论】:

  • 不幸的是,以上不是@PaulinaL 所遇到问题的答案,只会导致更多相同的错误。问题是身份验证类型和连接模式。
  • 亲爱的@AdrianKlaver,我完全接受你的意见。但我认为在 SO,我们需要提供最佳实践,而不仅仅是快速补丁。
  • 两者都可以。但是,提供一个只会导致相同问题的答案并不是一个答案。
  • 我确实创建了一个新用户,给了他几乎像 postgres 用户一样的权限,并在 db.js 文件中将用户从 postgres 更改为我的新用户和新用户的密码,现在它可以工作了。
  • @PaulinaL 祝你好运!
【解决方案2】:

立即解决办法是消除:

host: "localhost"

来自您的连接设置。这将强制在local 上建立连接,这相当于您对psql -U postgres 所做的操作。

长期的解决方法是使用psql -U postgres 进行连接,然后使用ALTER ROLE postgres WITH PASSWORD '<some_pwd>'。这将给这个ROLE 一个密码。您可以通过使用ALTERCREATE 在create 语句中使用新角色来对已存在的其他角色执行此操作。

连接身份验证方法由pg_hba.conf 文件控制。此处提供了有关其功能的完整说明:

https://www.postgresql.org/docs/current/auth-pg-hba-conf.html

如果以上内容不能回答您的所有问题,请返回具体问题。

【讨论】:

  • 谢谢!不幸的是删除了主机:“localhost”没有帮助,我创建了一个新用户并将这个用户放到 db.js 文件中,现在它可以工作了。
  • 您是否使用psql -U postgres 连接?你为 postgres 用户做了ALTER ROLE 吗?
【解决方案3】:

如果我按照您的错误消息进行操作,那么您需要重置 postgres 密码。而且我相信默认设置不起作用,或者您可能在重置后忘记了。

请按照以下教程重置密码:-

https://docs.bitnami.com/aws/infrastructure/postgresql/administration/change-reset-password/

或参考以下答案:-

What is the default password for Postgres

【讨论】:

    猜你喜欢
    • 2011-12-03
    • 1970-01-01
    • 2015-11-23
    • 2020-10-24
    • 2023-04-05
    • 1970-01-01
    • 2020-10-13
    相关资源
    最近更新 更多