Ruby on rails Cloud9中的postgresql错误“;fe_sendauth:未提供密码";
我想在Cloud9中为我的rails应用程序设置postgresql 尽管我遵循了这一点,但当我尝试Ruby on rails Cloud9中的postgresql错误“;fe_sendauth:未提供密码";,ruby-on-rails,postgresql,ruby-on-rails-4,cloud9-ide,Ruby On Rails,Postgresql,Ruby On Rails 4,Cloud9 Ide,我想在Cloud9中为我的rails应用程序设置postgresql 尽管我遵循了这一点,但当我尝试捆绑exec rake db:create时出现了以下错误 fe_sendauth: no password supplied ... Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "username"=>nil, "password"=>
捆绑exec rake db:create
时出现了以下错误
fe_sendauth: no password supplied
...
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "username"=>nil, "password"=>nil, "host"=>"0.0.0.0", "database"=>"app_development"}
fe_sendauth: no password supplied
...
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "username"=>nil, "password"=>nil, "host"=>"0.0.0.0", "database"=>"app_test"}
数据库.yml
default: &default
adapter: postgresql
encoding: unicode
pool: 5
username: <%= ENV['USERNAME'] %>
password: <%= ENV['PASSWORD'] %>
host: <%= ENV['IP'] %>
development:
<<: *default
database: app_development
test:
<<: *default
database: app_test
production:
<<: *default
database: app_production
虽然我在stackoverflow中发现了类似的问题,但它们并不适合我
如果您能告诉我如何避免这个错误,我将不胜感激
Cloud 9
不允许我们访问前面提到的pg_hba.conf
文件
编辑强>
添加了host:localhost
而不是“database.yml”中的host:
sudo vim/etc/postgresql/9.3/main/pg_hba.conf
# "local" is for Unix domain socket connections only
local all xxx peer
而不是
# "local" is for Unix domain socket connections only
local all username peer
localhost
作为主机引用TCP连接
所以在你的database.yml中
host: localhost
host: "/var/run/postgresql"
对于所有三种环境,您都使用相同的用户名
和密码
,并检查此项
或ENV['IP']
应参考localhost
在pg_hba.conf
中检查您的身份验证方法,它应该是md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
如果
# "local" is for Unix domain socket connections only
local all username peer
然后需要通过Unix域套接字进行连接
如果您使用的是类似debian的操作系统,这意味着将/var/run/postgresql
放在主机字段中
所以在database.yml中
host: localhost
host: "/var/run/postgresql"
希望它能解决你的问题谢谢你的快速回答,@Rajarshi DasCloud 9
不允许我们访问前面提到的pg_hba.conf
文件。如果您能给我一些建议,我将不胜感激。@SamuraiBlue Cloud9不限制对该文件的访问,这是Linux做的。您可以使用sudo vim/etc/postgresql/9.3/main/pg_hba.conf对其进行编辑,谢谢您的评论,@Brady Dowling。我可以按照您的建议创建一个conf
文件。但仍然显示相同的错误。是否检查了用户名、密码和database.yml上的主机?这三个环境应该不一样谢谢你的评论,@rajarshidas。虽然我在database.yml上更改了用户名、密码和主机,但出现了以下错误<代码>无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(::1)上运行并在端口5432上接受TCP/IP连接?无法连接到服务器:连接被拒绝服务器是否在主机“localhost”(127.0.0.1)上运行并在端口5432上接受TCP/IP连接?