私が実行するとき: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:パスワードが指定されていません しかし、まったく役に立ちません。
これはデータベース接続の問題です。
使用しているデータベースに直接接続してみてください。パスワードを要求している場合は、database.ymlファイルで同じパスワードを使用する必要があります。
このリンクを確認してください http://guides.rubyonrails.org/configuring.html#configuring-a-postgresql-database および Ruby on Rails:postgresqlのdatabase.ymlを編集するにはどうすればよいですか?
このリンクがお役に立てば幸いです
次のように、これを実行するRails環境)を指定してみてください。
Rails_ENV=test rake db:setup
私の友人、私は同じ問題を抱えていました。私のソリューションでは、各環境の資格情報が追加され、値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
no password supplied
は、database.ymlからposgresql
サーバーにパスワードを指定していないことを意味します。
Pgadminまたはターミナルからposgresqlサーバーに接続してみてください。 database.ymlに同じパスワード(terminal/pgadminからのログインに使用したもの)を追加します。
今すぐ試してください:
Rails_ENV=TEST bundle exec rake db:setup
認証を指定したくない場合は、.ymlファイルからusername: password:
を削除してみてください。
no password supplied
は、パスワードが必要であるが、パスワードを指定しなかったことを意味します。 database.ymlファイルに正しいパスワードを追加します。
引用符を使用して「空の」パスワードを入力してみてください。
password: ""