PG :: Error: ERROR: permission denied for schema_migrations relation

I don’t know why I came across this error. I installed postgresql correctly, just migrated and then rake db: migrate and get a header error.

Here is my:

database.yml

development: adapter: postgresql encoding: unicode database: my_blog_development pool: 5 username: my_blog password: test: adapter: postgresql encoding: unicode database: my_blog_test pool: 5 username: my_blog password: production: adapter: postgresql encoding: unicode database: my_blog_production pool: 5 username: my_blog password: 

Full error:

 [my_blog]$rake db:migrate rake aborted! PG::Error: ERROR: permission denied for relation schema_migrations : SELECT "schema_migrations".* FROM "schema_migrations" /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql_adapter.rb:739:in `exec' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql_adapter.rb:739:in `exec_no_cache' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql/database_statements.rb:138:in `block in exec_query' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract_adapter.rb:425:in `block in log' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activesupport-4.0.0.rc1/lib/active_support/notifications/instrumenter.rb:20:in `instrument' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract_adapter.rb:420:in `log' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql/database_statements.rb:137:in `exec_query' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/postgresql_adapter.rb:856:in `select' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/database_statements.rb:24:in `select_all' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/connection_adapters/abstract/query_cache.rb:63:in `select_all' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/querying.rb:36:in `find_by_sql' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/relation.rb:561:in `exec_queries' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/relation.rb:447:in `load' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/relation.rb:196:in `to_a' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/relation/delegation.rb:12:in `map' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:770:in `get_all_versions' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:928:in `migrated' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:933:in `ran?' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:910:in `block in runnable' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:910:in `reject' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:910:in `runnable' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:887:in `migrate' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:747:in `up' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/migration.rb:725:in `migrate' /usr/local/rvm/gems/ruby-2.0.0-p195/gems/activerecord-4.0.0.rc1/lib/active_record/railties/databases.rake:42:in `block (2 levels) in <top (required)>' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:246:in `call' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:246:in `block in execute' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:241:in `each' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:241:in `execute' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:184:in `block in invoke_with_call_chain' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:177:in `invoke_with_call_chain' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/task.rb:170:in `invoke' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:143:in `invoke_task' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:101:in `block (2 levels) in top_level' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:101:in `each' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:101:in `block in top_level' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:110:in `run_with_threads' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:95:in `top_level' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:73:in `block in run' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:160:in `standard_exception_handling' /usr/local/rvm/gems/ ruby-2.0.0-p195@global /gems/rake-10.0.4/lib/rake/application.rb:70:in `run' /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `eval' /usr/local/rvm/gems/ruby-2.0.0-p195/bin/ruby_noexec_wrapper:14:in `<main>' Tasks: TOP => db:migrate 
+4
source share
1 answer

It would seem that you did not create your psql role (or user, they are very similar in postgres). Also, I'm not sure that postgres will complain about the role and password for logging in (since you must tell postgres that the user or role is allowed to log in)

if you introduce psql as the root db user, you can configure the roles nicely by doing:

 create role my_blog with login password '' createdb; 

In addition, for convenience, if you use postgres, you could install the Postgres application , it usually makes administering postgres much easier without requiring passwords to enter the admin, which will allow you to easily see / delete tables if you are ever stuck . Here is a good list of some of the commands for administering postgres from psql cli

+4
source

Source: https://habr.com/ru/post/1485320/


All Articles