2

I have started to learn using heroku and i was trying to execute bundle exec rake db:create db:migrate command, i have encountered the following errors,

FATAL:  role "root" does not exist
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:898:in `rescue in connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:445:in `checkout_new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `acquire_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:87:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/postgresql_database_tasks.rb:8:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/postgresql_database_tasks.rb:17:in `create'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:88:in `create'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:102:in `block in create_current'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:225:in `block in each_current_configuration'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:224:in `each'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:224:in `each_current_configuration'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:101:in `create_current'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:17:in `block (2 levels) in <top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:240:in `call'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:240:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:235:in `each'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:235:in `execute'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:165:in `invoke'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:156:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `each'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:121:in `run_with_threads'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:106:in `top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:84:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:182:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:79:in `run'
/var/lib/gems/1.9.1/gems/rake-10.4.0/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"root"}
FATAL:  role "root" does not exist
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:898:in `rescue in connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:445:in `checkout_new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `acquire_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:87:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/postgresql_database_tasks.rb:8:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/postgresql_database_tasks.rb:17:in `create'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:88:in `create'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:102:in `block in create_current'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:225:in `block in each_current_configuration'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:224:in `each'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:224:in `each_current_configuration'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/tasks/database_tasks.rb:101:in `create_current'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:17:in `block (2 levels) in <top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:240:in `call'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:240:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:235:in `each'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:235:in `execute'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/task.rb:165:in `invoke'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:156:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `each'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:112:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:121:in `run_with_threads'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:106:in `top_level'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:84:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:182:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.4.0/lib/rake/application.rb:79:in `run'
/var/lib/gems/1.9.1/gems/rake-10.4.0/bin/rake:33:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"ruby-getting-started_test"}
rake aborted!
ActiveRecord::NoDatabaseError: FATAL:  role "root" does not exist
Run `$ bin/rake db:create db:migrate` to create your database
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:898:in `rescue in connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:888:in `connect'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:568:in `initialize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `new'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/postgresql_adapter.rb:41:in `postgresql_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:435:in `new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:445:in `checkout_new_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in `acquire_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:351:in `block in checkout'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:350:in `checkout'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block in connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:264:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:541:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/connection_handling.rb:87:in `connection'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/migration.rb:909:in `initialize'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:in `new'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:in `up'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/migration.rb:785:in `migrate'
/var/lib/gems/1.9.1/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

i have tried to edit the schema.rb file but it is of no use. I am developing this on Ubuntu, please state where am i going wrong

  • Run this command - heroku run rake db:create and then heroku run rake db:migrate in your terminal – Caffeine Coder Jan 16 '15 at 13:21
  • i get this FATAL: permission denied for database "postgres" DETAIL: User does not have CONNECT privilege. –  Jan 16 '15 at 14:29

3 Answers3

2

The problem is that you don't have ROLE on your local machine named root. Run this in a terminal:

psql

Then if you connect with PostgreSQL in your terminal:

CREATE ROLE root WITH PASSWORD 'root' WITH CREATEDB LOGIN CREATEROLE CREATEUSER SUPERUSER;

or just change in your database.yml file user to user, who exists with valid password.

P.S.

Don't run in your terminal:

heroku run rake db:create

Heroku creates for you database when you first time push your application to Heroku's servers.

But you can run:

heroku run rake db:migrate
Neologis
  • 137
  • 2
  • 8
0

When you add the Heroku Postgres add-on (or simply push a rails app to Heroku, and a dev one is added for you), a database is created for you.

Do not fun db:create on Heroku Postgres, it's already created. You can skip to db:migrate, et. al

catsby
  • 11,276
  • 3
  • 37
  • 37
0

If u are studying rails tutorial and you want to run a local server,you should have gem 'sqlite3' in gemfile,but if u want to push it to heroku you must replace gem 'sqlite3' with gem 'pg'.Or when running local server you can have them both,but when you push to heroku detele it because it's not suported.

Dsp
  • 19
  • 2