当我运行rails db
时,我收到以下错误。
psql: FATAL: role "ubuntu" does not exist
首先,我想在解决它之前知道它所说的确切含义。
我也试过http://stackoverflow.com/questions/11919391/postgresql-error-fatal-role-username-does-not-exist
这个链接,但似乎没有什么可以为我锻炼..
答案 0 :(得分:4)
我没有针对您的Rails特定答案,但我可以告诉您一些关于PostgreSQL身份验证的可能有用的事实:
PostgreSQL使用术语" role"意思是"用户"或"登录",因此错误消息表示您尝试使用用户名ubuntu
连接到PostgreSQL数据库,但不存在此类用户。
如果您没有明确告诉PostgreSQL您要登录的用户,它将使用您的操作系统凭据。也就是说,如果您以用户ubuntu
的身份登录Linux,PostgreSQL将尝试以名为ubuntu
的PostgreSQL用户身份登录。
PostgreSQL身份验证在名为pg_hba.conf
的文件中配置。见http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html。但是,如果您正在使用Rails,我怀疑您可以在不编辑pg_hba.conf
文件的情况下控制PostgreSQL身份验证设置。