如何解决psql: FATAL: role "ubuntu" does not exist问题

4
当我运行rails db时,出现以下错误。 psql: FATAL: role "ubuntu" does not exist 首先,我想知道它所说的确切含义,然后再解决它。 我也尝试过https://dev59.com/C2ct5IYBdhLWcg3wqfL9,但似乎对我没有用。
1个回答

4

我无法提供针对Rails的具体答案,但是我可以告诉您一些有关PostgreSQL身份验证的有用信息:

  1. PostgreSQL使用术语“角色”表示“用户”或“登录”,因此错误消息意味着您正在尝试使用用户名ubuntu连接到PostgreSQL数据库,但不存在这样的用户。

  2. 如果您没有明确告诉PostgreSQL要以哪个用户登录,它将使用您的操作系统凭据。也就是说,如果您在Linux下以ubuntu用户登录,则PostgreSQL将尝试使用名为ubuntu的PostgreSQL用户登录。

  3. PostgreSQL身份验证配置在一个名为pg_hba.conf的文件中。请参阅http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html。但是,如果您使用Rails,我怀疑您可以通过某种方式控制PostgreSQL身份验证设置,而无需手动编辑pg_hba.conf文件。


pg_hba.conf 只是认证配置的一部分。用户和密码是在 SQL 级别进行配置的。 - Craig Ringer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接