0

I cannot figure out why I am constantly getting this error when running rake db:migrate:status after switching over to Postgresql and Rails 5.2.1

[root:7e2d33988106:~/myapp]# rake db:migrate:status 12:04AM/06.27 rake aborted! PG::ConnectionBad: fe_sendauth: no password supplied /usr/local/rvm/gems/ruby-2.5.1/gems/pg-1.1.4/lib/pg.rb:56:in `initialize' /usr/local/rvm/gems/ruby-2.5.1/gems/pg-1.1.4/lib/pg.rb:56:in `new' /usr/local/rvm/gems/ruby-2.5.1/gems/pg-1.1.4/lib/pg.rb:56:in `connect' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:692:in `connect' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:223:in `initialize' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:48:in `new' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:48:in `postgresql_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:811:in `new_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:855:in `checkout_new_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:834:in `try_to_checkout_new_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:795:in `acquire_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:523:in `checkout' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:382:in `connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:1014:in `retrieve_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:118:in `retrieve_connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/connection_handling.rb:90:in `connection' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/schema_migration.rb:22:in `table_exists?' /usr/local/rvm/gems/ruby-2.5.1/gems/activerecord-5.2.3/lib/active_record/railties/databases.rake:124:in `block (3 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.5.1/gems/rake-12.3.2/exe/rake:27:in `<top (required)>' /usr/local/rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `eval' /usr/local/rvm/gems/ruby-2.5.1/bin/ruby_executable_hooks:24:in `<main>' Tasks: TOP => db:migrate:status (See full trace by running task with --trace) 

What I've done so far

I have edited the pg_hba.conf file to show the following:

local all postgres md5 local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5 local replication all peer host replication all 127.0.0.1/32 md5 host replication all ::1/128 md5 

and restarted the service. No luck. Same error. The first error I got prior to this was invalid password for postgresql, so i had to change one of the "peer" options to "md5"

If I look into my config/database.yml file, this is what it looks like:

# SQLite version 3.x # gem install sqlite3 # # Ensure the SQLite 3 gem is defined in your Gemfile # gem 'sqlite3' # default: &default adapter: postgresql pool: 5 timeout: 5000 encoding: unicode username: postgres database: <%= Rails.application.credentials.dig(:database, Rails.env.to_sym, :database_name) %> # username: <%= Rails.application.credentials.dig(:database, Rails.env.to_sym, :database_user_name) %> # password: <%= Rails.application.credentials.dig(:database, Rails.env.to_sym, :database_password) %> development: <<: *default test: <<: *default staging: <<: *default production: <<: *default 

and when I edit the credentials with rake (using EDITOR=vim rails credentials:edit), this is what this file looks like:

# aws: # access_key_id: 123 # secret_access_key: 345 # Used as the base secret for all MessageVerifiers in Rails, including the one protecting cookies. secret_key_base: <my long key redacted for stackoverflow> database: development: database_name: development database_user_name: postgres database_password: <redacted for stackoverflow> test: database_name: test database_user_name: postgres database_password: <redacted for stackoverflow> production: database_name: production database_user_name: postgres database_password: <redacted for stackoverflow> 

I feel like I've been going hours deep down the rabbit hole and cannot figure out how to get this Rails application working with Postgresql.

I have taken a look at this post here: PG::ConnectionBad fe_sendauth: no password supplied and have tried its suggestion with no luck, and even here How to resolve the error 'fe_sendauth: no password supplied' in Rails using PostgreSQL? with no luck either. I don't have host: '' or host: 'localhost' anywhere in the config/database.yml file (I've tried adding it and still didn't work), so I'm not quite sure this has anything to do with anything here for me.

Any other suggestions?

9
  • do u have gem 'pg' in your gem file? Commented Jun 27, 2019 at 5:57
  • Sure do. @AbhishekAravindan Commented Jun 27, 2019 at 5:58
  • i had the similar problem, i don't remember what i actually did to solve, Please give a try to provide username and password in production: in database.yml Commented Jun 27, 2019 at 6:03
  • It's funny you mention that, @AbhishekAravindan because I just added username and password in config/database.yml and it worked perfectly fine. I'm not sure why this has problems when using the new authentication process. Commented Jun 27, 2019 at 6:04
  • happy to here that worked.... i will post as a answer :) Commented Jun 27, 2019 at 6:05

1 Answer 1

1

Add your username and password in production: in database.yml

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.