如何解决psql:致命:角色" ubuntu"不存在

时间:2014-07-12 17:54:12

标签: ruby-on-rails postgresql ubuntu psql

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

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

1 个答案:

答案 0 :(得分:4)

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

  1. PostgreSQL使用术语" role"意思是"用户"或"登录",因此错误消息表示您尝试使用用户名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,我怀疑您可以在不编辑pg_hba.conf文件的情况下控制PostgreSQL身份验证设置。