PG::ConnectionBad: could not connect to server: Connection refused

daniel barrera picture daniel barrera · Dec 3, 2014 · Viewed 7.9k times · Source

I have the following error when I try to run

git heroku push master

I don't how solve the problem. I am using rails 3.2.19

 fernando@fernando:~/ProyectoTicketMaster/Ticket_Master$ git push  heroku master 

Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Connecting to database specified by DATABASE_URL
       rake aborted!
       PG::ConnectionBad: could not connect to server: Connection refused
       Is the server running on host "127.0.0.1" and accepting
       TCP/IP connections on port 5432?
       /tmp/build_dd87fdc88ebb265d09b8212e3b0df10b/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `initialize'
       /tmp/build_dd87fdc88ebb265d09b8212e3b0df10b/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `new'
       /tmp/build_dd87fdc88ebb265d09b8212e3b0df10b/vendor/bundle/ruby/2.0.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `connect'

this is my GemFile. I'm using pg for production and sqlite for development. Here attached my GemFile and my databse.yml

source 'https://rubygems.org'

gem 'rails', '3.2.19'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
  gem 'sqlite3',     '1.3.9'

end

group :production do
  gem 'pg',             '0.17.1'
  gem 'rails_12factor', '0.0.2'
end


gem 'hirb'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the app server
# gem 'unicorn'

# Deploy with Capistrano
# gem 'capistrano'

# To use debugger
# gem 'debugger'


development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

Answer

Miknash picture Miknash · Dec 3, 2014

Several things might cause this problem.

Do you have postgres running? Have you added it to your server?

Have you installed gem for pg?

Your setup should look like:

development:
  adapter: postgresql
  host: localhost
  username: user
  database: app-dev

You can take a look at this link: https://devcenter.heroku.com/articles/heroku-postgresql#connecting-in-ruby, it will probably help :)

NOTE:: This should be comment but I don't have enough repoutation to comment.