Rails和PostgreSQL:角色postgres不存在。
Rails和PostgreSQL:角色postgres不存在。
我在我Mac OS Lion上安装了PostgreSQL,并且正在开发Rails应用程序。我使用RVM来使其与其他Rails应用程序隔离。
由于某种原因,当我尝试第一次迁移db时,rake找不到Postgres用户。 我收到错误
FATAL: role "postgres" does not exist
我有pgAdmin,所以我可以清楚地看到数据库中有一个postgres用户 - 实际上是管理员帐户 - 所以我不知道还可以做什么。
我在某个地方读到过有关PostgreSQL由于安装路径而出现问题的人,但如果它找不到数据库,我就不认为我会有那么远。
admin 更改状态以发布 2023年5月23日
最近在安装PostgreSQL之后遇到了这个问题。
如果它在安装之后立即出现,那么您可能缺少默认用户postgres。
在这种情况下,您可以使用以下命令创建默认用户postgres。
createuser -s -U $USER
Ex: createuser -s -U $USER enter your required role name: postgres enter password for your the user:
它会提示您输入所需的数据库角色名称和密码。
完成该过程后,您可以使用以下命令登录到postgres控制台
psql -U 'your_database_name'
例如:psql -U postgres
在这里,如果在创建用户时输入了密码,则需要输入密码。
希望它有所帮助 🙂
实际上,因为没有创建postgresql角色,我发现问题的原因不明确。
尝试运行:
createuser -s -r postgres
请注意,角色是PostgreSQL 维护数据库权限的方式。 如果postgres用户没有角色,则无法访问任何内容。 createuser命令是CREATE USER、CREATE ROLE等命令的薄包装器。