web-dev-qa-db-ja.com

rake db:setupの結果、fe_sendauthにパスワードが指定されていません

私が実行するとき: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を変更してください: rorアプリのpostgresを設定しようとすると、エラーが発生します-fe_sendauth:パスワードが指定されていません しかし、まったく役に立ちません。

12
szatan

これはデータベース接続の問題です。

使用しているデータベースに直接接続してみてください。パスワードを要求している場合は、database.ymlファイルで同じパスワードを使用する必要があります。

このリンクを確認してください http://guides.rubyonrails.org/configuring.html#configuring-a-postgresql-database および Ruby on Rails:postgresqlのdatabase.ymlを編集するにはどうすればよいですか?

このリンクがお役に立てば幸いです

3
KJ_kaka

次のように、これを実行するRails環境)を指定してみてください。

Rails_ENV=test rake db:setup
2
ussferox

私の友人、私は同じ問題を抱えていました。私のソリューションでは、各環境の資格情報が追加され、値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
2

no password suppliedは、database.ymlからposgresqlサーバーにパスワードを指定していないことを意味します。

Pgadminまたはターミナルからposgresqlサーバーに接続してみてください。 database.ymlに同じパスワード(terminal/pgadminからのログインに使用したもの)を追加します。

今すぐ試してください:

Rails_ENV=TEST bundle exec rake db:setup

1
RAJ

認証を指定したくない場合は、.ymlファイルからusername: password:を削除してみてください。

0
Som Poddar

no password suppliedは、パスワードが必要であるが、パスワードを指定しなかったことを意味します。 database.ymlファイルに正しいパスワードを追加します。

0
infused

引用符を使用して「空の」パスワードを入力してみてください。

password: ""
0
Luca B.