rake db:设置结果为fe_sendauth没有提供密码

时间:2014-08-06 11:49:30

标签: ruby-on-rails ruby postgresql ubuntu pg

当我跑步时:     rake db:setup

我得到:

fe_sendauth: no password supplied

Couldn't create database for {"adapter"=>"postfresql", "encoding"=>"unicode",
"host"=>"localhost", "pool"=>5, "username"=>"my_user", "password"=>nil,  
"database"=>"my_db_test"}

-- enable_extension("plpgqsl")
rake aborted


Tasks: TOP => db:schema:load

我的database.yml:

connection: &connection
adapter: postgresql
encoding: unicode
host:     localhost
pool: 5
username: my_user
password:

development:
  <<: *connection
  database: my_db_development

test: &test
  <<: *connection
  database: my_db_test

在这个问题中已经改变了我的pg_hba.conf:Trying to set up postgres for ror app, getting error - fe_sendauth: no password supplied 但它根本没有用。

7 个答案:

答案 0 :(得分:3)

这是数据库连接问题。

尝试直接连接您使用的数据库。如果是在询问密码,那么您应该在database.yml文件中使用相同的密码。

检查此链接 http://guides.rubyonrails.org/configuring.html#configuring-a-postgresql-databaseRuby on Rails: How can i edit database.yml for postgresql?

希望此链接可以帮助您

答案 1 :(得分:2)

尝试指定您要执行此操作的rails环境,例如:

RAILS_ENV=test rake db:setup

答案 2 :(得分:2)

我的朋友,我遇到了同样的问题。我的解决方案添加了每个环境的凭据,并在值localhost ..

中启用主机 像这样:

development:
<<: *default
database: SM_development
username: user
password: xxxx

host: localhost

test:
<<: *default
database: SM_test
username: user
password: xxxxxx

production:
<<: *default
database: SM_production
username: user
password: xxxxxx

答案 3 :(得分:1)

no password supplied 表示您尚未从database.yml向posgresql服务器提供密码。

尝试连接到posgresql服务器表单pgadmin或terminal。添加相同的密码(您用于通过终端/ pgadmin登录)到您的database.yml。

现在尝试:

RAILS_ENV=TEST bundle exec rake db:setup

答案 4 :(得分:0)

尝试使用引号提供“空”密码:

password: ""

答案 5 :(得分:0)

no password supplied表示需要密码,但您没有指定密码。将正确的密码添加到database.yml文件中。

答案 6 :(得分:0)

如果您不想指定身份验证,请尝试从.yml文件中删除username: password: