【问题标题】:Do I need to create a new Postgres user for every new Rails app?我需要为每个新的 Rails 应用程序创建一个新的 Postgres 用户吗?
【发布时间】:2015-04-14 08:49:09
【问题描述】:

在我的 OS X 机器上,我有一个使用 Postgres (9.3) 的 Rails 应用程序 (4.2)。

现在,要创建第二个 Rails 应用程序,我需要创建一个新的 pg 用户吗?

在我的第一个应用中,database.yml 中没有提供用户名

development:
  adapter: postgresql
  database: my_first_app_development
  pool: 5
  timeout: 5000

【问题讨论】:

  • 您可以创建一个 pg 用户并通过在 database.yml 中提及它来针对多个项目使用它

标签: ruby-on-rails postgresql ruby-on-rails-4 postgresql-9.3 rails-postgresql


【解决方案1】:

简短回答没有。如果该用户是该数据库的所有者或具有超级用户角色,您可以将一个用户用于多个数据库。

我更喜欢在本地机器上使用一个拥有超级用户权限的用户。

$> 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

来自外壳:

$> bundle exec rake db:create

这仅适用于生产的本地开发环境创建具有正确权限的单独用户。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 2021-12-08
    相关资源
    最近更新 更多