【问题标题】:How to solve psql: FATAL: role "ubuntu" does not exist如何解决 psql:致命:角色“ubuntu”不存在
【发布时间】:2014-09-03 03:26:39
【问题描述】:

当我运行rails db 时,出现以下错误。 psql: FATAL: role "ubuntu" does not exist

首先我想在解决它之前知道它所说的确切含义。 我也试过http://stackoverflow.com/questions/11919391/postgresql-error-fatal-role-username-does-not-exist这个链接,但对我来说似乎没有任何锻炼..

【问题讨论】:

    标签: ruby-on-rails postgresql ubuntu psql


    【解决方案1】:

    我没有特定于 Rails 的答案,但我可以告诉你一些关于 PostgreSQL 身份验证的可能有用的事实:

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

    2. 如果您没有明确告诉 PostgreSQL 您要以哪个用户身份登录,它将使用您的操作系统凭据。也就是说,如果您以 ubuntu 用户身份登录 Linux,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 级别配置。
    猜你喜欢
    • 2015-03-28
    • 2013-02-24
    • 2018-02-18
    • 1970-01-01
    • 2021-03-21
    • 2017-03-08
    • 2014-03-15
    相关资源
    最近更新 更多