在我的OS X机器上,我有一个使用Postgres(9.3)的Rails应用程序(4.2)。
现在,要创建第二个Rails应用程序,我是否需要创建一个新的pg用户?
在我的第一个应用中,database.yml
development:
adapter: postgresql
database: my_first_app_development
pool: 5
timeout: 5000
答案 0 :(得分:2)
简短的回答没有。如果该用户是该数据库的所有者或具有超级用户角色,则可以将一个用户用于许多数据库。
我更喜欢在本地计算机上使用一个具有超级用户权限的用户。
$> sudo -u postgres psql
postgres# CREATE ROLE my_user CREATEDB SUPERUSER;
postgres# ALTER ROLE my_user WITH LOGIN;
现在,您可以使用my_user
所有者创建数据库:
postgres# CREATE DATABASE my_database WITH OWNER my_user;
或者只需使用rake task
创建数据库,但在将用户名添加到database.yml
之前:
database: my_first_app_development
username: my_user
来自shell的:
$> bundle exec rake db:create
仅适用于生产的本地开发环境,创建具有正确权限的单独用户。