How to resolve "fe_sendauth: no password" error in Rails using PostgreSQL?

I tried to create a Rails application with a postgresql database, but when I started rails server I got this error:

fe_sendauth: no password specified

Here are my steps step by step:

 $ sudo apt-get install postgresql postgresql-contrib $ gem install pg $ rails new timetracker --database=postgresql --skip-unit-test 

My database.yml file looks like this:

 default: &default adapter: postgresql encoding: unicode pool: 5 host: localhost username: postgres password: development: <<: *default database: timetracker_development test: <<: *default database: timetracker_test production: <<: *default database: timetracker_production 

And here is my pg_hba.conf file:

 # Database administrative login by Unix domain socket local all postgres peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5 # modified by me. host all all 127.0.0.1/32 trust host all all 127.0.0.1/32 trust host all all ::1/128 trust 

So, when I do rails server , I get an error, and then here's what I get by doing this:

 $ rails c $ ActiveRecord::Base.connection.instance_variable_get(:@config) 

2.1.5: 001> ActiveRecord :: Base.connection.instance_variable_get (: @config) PG :: ConnectionBad: fe_sendauth: no password specified

from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:655:in initialize' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:655:in new 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord -4.2.3 / lib / active_record / connection_adapters / postgresql_adapter.rb: 655: in connect' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:242:in initialize 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in new' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/postgresql_adapter.rb:44:in postgresql_connection 'of /home/denis/.rvm/gems /ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:438:i n new_connection' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:448:in checkout_new_connection' by / home / denis /.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in acquire_connection' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:349:in block in checkout 'from /home/denis/.rvm/rubies/ruby-2.1.5/lib/ ruby / 2.1.0 / monitor.rb: 211: in mon_synchronize' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:348:in checkout 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:263:in block in connection' from /home/denis/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in mon_synchronize' from /home/denis/.rvm/gems/en by-2.1.5 / gems / activerecord-4.2.3 / lib / active_record / connection_adapters / abstract / connection_pool.rb: 262: in connection' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activerecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:571:in retrieve_connection '... 4 levels ... by /home/denis/.rvm/gems/ruby-2.1.5/gems/ railties-4.2.3 / lib / rails / commands / console.rb: 9: in start' from /home/denis/.rvm/gems/ruby-2.1.5/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:68:in console 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/railties-4.2.3/lib/rails/commands/commands_tasks.rb:39:in run_command!' from /home/denis/.rvm/gems/ruby-2.1.5/gems/railties-4.2.3/lib/rails/commands.rb:17:in run_command!' from /home/denis/.rvm/gems/ruby-2.1.5/gems/railties-4.2.3/lib/rails/commands.rb:17:in 'of /home/denis/.rvm/gems/ruby- 2.1.5 / gems / activesupport-4.2.3 / lib / active_support / dependencies.rb: 274: in require' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in block in require 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240: in load_dependency' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:274:in require' from / home / denis / WEB / Rails / timetracker / bin / rails: 8: in <top (required)>' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:268:in load 'from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:268:in block in load' from /home/denis/.rvm/gems/ruby-2.1.5/gems/activesupport-4.2.3/lib/active_support/dependencies.rb:240:in load_dependency 'from / home / den is / .rvm / gems / ruby-2.1.5 / gems / activesupport-4.2.3 / lib / active_support / dependencies.rb: 268: in load' from /home/denis/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require 'from /home/denis/.rvm/rubies/ruby-2.1.5/lib/ruby/site_ruby/2.1.0 /rubygems/core_ext/kernel_require.rb:54:in require' from -e:1:in ' 2.1.5: 002>

I am using postgresql for the first time, and I think I'm just doing something wrong.

Could you help me with this?

+5
source share
2 answers

My solution to this problem was to remove host: localhost from the default: group.

+6
source

PostgreSQL matches the pg_hba.conf entries in the order they are listed, so it uses the previously specified host all all 127.0.0.1/32 md5 entry for authentication instead of the trust entry you specify.

Move your trust user entries above the predefined ones (and perhaps comment out the old ones), and then reload the configuration by running sudo service postgresql reload (on Ubuntu) or by rebooting.

+3
source

All Articles