我正在使用postgres为我的组织设置一个简单的rails应用
我设置了以下类型的用户
OS USER POSTGRES USER ASSOCIATED POSTGRES DB
postgres postgres postgres
user1 user1
user2 user2
..... ..... .....
my_app my_app
my_app
合作的个人用户。development: &default
adapter: postgresql
database: my_app
encoding: utf8
host: localhost
min_messages: warning
pool: 2
timeout: 5000
鉴于上述情况,我遇到了以下情况 -
每个用户都不能方便地输入psql
来输入shell,因为Postgres会查找具有相关名称的数据库,但该数据库并不存在。有没有办法默认它使用my_app
db?或者有没有办法进入shell而无需指定数据库(类似于mySQL,您在登录后选择数据库)?
在新计算机上,my_app
数据库尚不存在。我希望在以rake db:create
作为我自己的用户运行时创建它,但我只收到fe_sendauth: no password supplied
。由于它依赖于对等身份验证,我是否必须拥有my_app
的相应操作系统用户?
我还尝试通过将user:
和password:
直接添加到database.yml
来尝试修复#2中的问题。这只产生FATAL: password authentication failed for user "my_app"
,虽然它肯定是正确的密码。
有些不相关,但是当一个postgres用户拥有"它意味着什么?一个数据库?其他用户可以使用和编辑该数据库,还是他们都必须以所有者身份登录才能使用它? (编辑:这个问题得到了很好的回答here)
谢谢!