0

我已经有一个 Rails 项目,然后我安装了Postgresqlpgadmin III,我需要在开发中使用 posgresql 而不是在sqlite生产中使用heroku,我按照这个问题中的第二个答案Change from SQLite to PostgreSQL in a fresh Rails project因为我刚刚安装Postgresql使用突触中心而不做任何其他事情,当我尝试创建用户时出现错误:

createuser dexter
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
createuser: could not connect to database postgres: FATAL:  role "dexter" does not exist
4

1 回答 1

0

采用:

$ sudo -u postgres createuser

要回答您的问题,请参阅postgresql 文档

“如果你想创建一个新的超级用户,你必须以超级用户身份连接,而不仅仅是拥有 CREATEROLE 权限。作为超级用户意味着能够绕过数据库内的所有访问权限检查,因此不应轻易授予超级用户权限。”

鉴于您创建的帐户只是为了授予 Rails 应用程序访问权限,而创建数据库的能力是有意义的,超级用户权限不是一个好主意。

于 2013-08-08T21:42:08.080 回答