Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 通过对等身份验证将rails应用程序连接到postgres_Ruby On Rails_Ruby_Database_Postgresql - Fatal编程技术网

Ruby on rails 通过对等身份验证将rails应用程序连接到postgres

Ruby on rails 通过对等身份验证将rails应用程序连接到postgres,ruby-on-rails,ruby,database,postgresql,Ruby On Rails,Ruby,Database,Postgresql,我正在使用postgres为我的组织设置一个简单的rails应用程序 用户/管理员设置 我设置了以下类型的用户 OS USER POSTGRES USER ASSOCIATED POSTGRES DB postgres postgres postgres user1 user1 user2 user2 .....

我正在使用postgres为我的组织设置一个简单的rails应用程序

用户/管理员设置 我设置了以下类型的用户

OS USER          POSTGRES USER       ASSOCIATED POSTGRES DB
postgres         postgres            postgres
user1            user1               
user2            user2               
.....            .....               .....
                 my_app              my_app
  • Postgres用户-默认超级用户
  • 各种系统用户-我的公司/组织中将使用
    我的应用程序
    的个人用户
  • 应用程序用户-仅限Postgres中的应用程序用户,其拥有同名数据库。没有关联的操作系统用户
数据库YML文件 问题 鉴于上述情况,我遇到了以下问题-

  • 每个用户都不能方便地键入
    psql
    来进入shell,因为Postgres会查找一个不存在的具有关联名称的DB。是否有办法将其默认为使用
    my_应用程序
    db?或者有没有一种不必指定DB就可以进入shell的方法(类似于mySQL,在mySQL中,您在登录后选择DB)

  • 在新机器上,
    my_app
    数据库尚不存在。我希望它是在以我自己的用户身份运行
    rake db:create
    时创建的,但我只收到
    fe\u sendauth:no password supplied
    。由于它依赖于对等身份验证,我是否必须为我的应用程序配备相应的操作系统用户

  • 我还尝试在#2中解决这个问题,实际上是将
    用户:
    密码:
    直接添加到
    数据库.yml
    。这只会产生
    致命:用户“my_app”的密码验证失败
    ,尽管它肯定是正确的密码

  • 有些不相关,但当postgres用户“拥有”数据库时,这意味着什么?其他用户是否可以使用和编辑该数据库,或者他们是否都必须以所有者身份登录才能使用该数据库?(编辑:这个问题回答得很好)

  • 谢谢

    development: &default
    adapter: postgresql
    database: my_app
    encoding: utf8
    host: localhost
    min_messages: warning
    pool: 2
    timeout: 5000