Postgresql 用户“的密码身份验证失败”;博士后;和用户';postrgres';没有密码

Postgresql 用户“的密码身份验证失败”;博士后;和用户';postrgres';没有密码,postgresql,ubuntu-18.04,Postgresql,Ubuntu 18.04,我正在学习如何使用PERN stack创建待办事项应用程序的教程。 (使用ubuntu 18.4,postgres 12.3版) 我确实安装了PostrgreSQL,服务器在5000上运行,我可以使用“psql-U postgres”从命令行进入数据库,但当我尝试将数据库连接到服务器时,我收到以下错误:用户“postgres”的密码验证失败。。 在安装过程中,我没有被要求给用户“postgres”提供任何密码,因此我将db文件中的密码留空 我的数据库文件如下所示: const Pool = re

我正在学习如何使用PERN stack创建待办事项应用程序的教程。 (使用ubuntu 18.4,postgres 12.3版) 我确实安装了PostrgreSQL,服务器在5000上运行,我可以使用“psql-U postgres”从命令行进入数据库,但当我尝试将数据库连接到服务器时,我收到以下错误:
用户“postgres”的密码验证失败。
。 在安装过程中,我没有被要求给用户“postgres”提供任何密码,因此我将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身份验证从peer设置为trust,但错误不断出现。

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

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

  • 不要使用用户postgres将应用程序连接到PostgreSQL

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

  • 立即的解决办法是消除:

    host:“localhost”

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

    长期的解决办法是使用
    psql-U postgres
    连接,然后
    使用密码更改角色postgres'
    。这将为该
    角色提供密码。您可以使用
    ALTER
    或在CREATE语句中创建新角色时,对已经存在的其他角色执行此操作

    连接身份验证方法由
    pg_hba.conf
    文件控制。有关其功能的完整说明,请参见:


    如果上述问题无法回答您的所有问题,请带着具体问题返回。

    立即解决的办法是消除:

    host:“localhost”

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

    长期的解决办法是使用
    psql-U postgres
    连接,然后
    使用密码更改角色postgres'
    。这将为该
    角色提供密码。您可以使用
    ALTER
    或在CREATE语句中创建新角色时,对已经存在的其他角色执行此操作

    连接身份验证方法由
    pg_hba.conf
    文件控制。有关其功能的完整说明,请参见:


    如果上面没有回答您的所有问题,请带着具体问题返回。

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

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

    或参考以下答案:-


    如果我按照您的错误消息去做,那么您需要重置postgres密码。我相信默认设置不起作用,或者重置后您可能会忘记

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

    或参考以下答案:-



    查看PostgreSQL日志文件中的消息。服务器是否在5000上运行?港口5000?那么为什么要使用端口:5432,这是否回答了您的问题?谢谢你的链接,我已经看到了这篇文章,但它没有帮助我运行我的应用程序。看看PostgreSQL日志文件中的消息。服务器是否在5000上运行?港口5000?那么为什么要使用端口:5432,这是否回答了您的问题?谢谢你的链接,我已经看到了这篇文章,但它并没有帮助我运行我的应用程序。不幸的是,上面的内容并不是@PaulinaL问题的答案,只会导致更多相同的错误。问题在于身份验证类型和连接方式。亲爱的@AdrianKlaver,我完全接受你的意见。但我认为在这里,我们需要提供最佳实践,而不仅仅是快速补丁。你们可以两者兼而有之。但是,提供一个只会导致相同问题的答案并不是答案。我确实创建了一个新用户,给了他几乎与postgres用户一样的权限,并在db.js文件中将用户从postgres更改为我的新用户和新用户的密码,现在可以了。@PaulinaL祝你好运!不幸的是,以上不是@PaulinaL所面临问题的答案,只会导致更多相同的错误。问题在于身份验证类型和连接方式。亲爱的@AdrianKlaver,我完全接受你的意见。但我认为在这里,我们需要提供最佳实践,而不仅仅是快速补丁。你们可以两者兼而有之。但是,提供一个只会导致相同问题的答案并不是答案。我确实创建了一个新用户,给了他几乎与postgres用户一样的权限,并在db.js文件中将用户从postgres更改为我的新用户和新用户的密码,现在可以了。@PaulinaL祝你好运!谢谢不幸的是,删除主机:“localhost”没有帮助,我创建了一个新用户并将该用户放到db.js文件中,现在它可以工作了。您是否使用
    psql-U postgres
    进行连接?您是否为postgres用户执行了
    ALTER角色
    ?谢谢!不幸的是,删除主机:“localhost”没有帮助,我创建了一个新用户并将该用户放到db.js文件中,现在它可以工作了。您是否使用
    psql-U postgres
    进行连接?您是否为postgres用户执行了
    ALTER角色