Postgresql Postgres:创建用户名

Postgresql Postgres:创建用户名,postgresql,heroku,rails-postgresql,Postgresql,Heroku,Rails Postgresql,我正在尝试在Mac上开始使用Postgres on Rails应用程序。我制作了一个名为“shawsome”的新rails应用程序,它在database.yml文件中创建了这个应用程序 development: adapter: postgresql encoding: unicode database: shawsome_development pool: 5 username: shawsome password: 但服务器无法运行,因为“shawsome”没有角色。R

我正在尝试在Mac上开始使用Postgres on Rails应用程序。我制作了一个名为“shawsome”的新rails应用程序,它在database.yml文件中创建了这个应用程序

development:
adapter: postgresql
  encoding: unicode
  database: shawsome_development
  pool: 5
  username: shawsome
  password:
但服务器无法运行,因为“shawsome”没有角色。Rails似乎只是从我的应用程序名推断出用户名

我看了postgres文档,其中谈到了createuser命令

CREATE USER jonathan;
然而,当我尝试创建用户时,它说找不到创建注释

谁能告诉我我做错了什么


另外,一旦它投入生产(在Heroku上),我想它也需要一个用户名。这个用户名会保持不变吗?i、 e.如果在我的机器上配置了它,我需要在Heroku上执行任何额外的操作吗?

那么您可以在bash/zsh中使用pg binary命令
createuser
。只需回答他们会问你的问题,不要设置数据库。yml用于生产,Heroku会处理这个问题。

要扩展一下Delchop的答案 安装后,您可以在终端中运行以下操作:

createuser -P
(p用于添加密码)

它将询问您的姓名、密码、他们是否是超级用户、是否可以创建新角色以及是否可以创建新数据库。rails可能不需要任何这些权限

然后创建数据库以使用您创建的以下角色运行:

createdb -O ROLE_NAME_FROM_PREVIOUS_STEP NEW_DATABASE_NAME

还有viola,你应该可以走了。

@TheDelChop Mac 10.6.8(不是Lion),我更新了OP。但是当我为PG创建Rails应用程序时,它会自动为生产数据库设置一些设置(基于应用程序名称的数据库名,我没有的角色等)。我应该删除这些吗?或者干脆离开它们?看起来您不需要指定生产详细信息,是的,heroku为您重写了config/database.yml-请参阅-@AlexMarchant链接不再正确。