我已经有一个rails项目,然后我安装了Postgresql
和pgadmin 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
答案 0 :(得分:0)
使用:
$ sudo -u postgres createuser
回答您的问题
“如果您希望创建新的超级用户,则必须以 超级用户,不仅仅具有CREATEROLE权限。成为超级用户 意味着能够绕过所有访问权限检查 数据库,所以不应该轻易授予超级用户。“
鉴于您创建的帐户仅用于授予您的Rails应用程序访问权限,而创建数据库的能力是有意义的,超级用户权限不是一个好主意。