2016-12-13 3 views
0

Lorsque je tente de lancer bundle exec rake db:setup, il me donne cette erreurbundle râteau exec db: setup, tâches Rake non pris en charge par l'adaptateur « nom d'utilisateur »

et quand je change l'adaptateur à mon nom d'utilisateur, j'obtenu la même erreur

PG::InsufficientPrivilege: ERROR: permission denied to create database 
: CREATE DATABASE "freelance_camp_documents_development" ENCODING = 'unicode' 
Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, "database"=>"freelance_camp_documents_development"} 
rake aborted! 
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: permission denied to create database 
: CREATE DATABASE "freelance_camp_documents_development" ENCODING = 'unicode' 
/usr/local/share/gems/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:98:in `async_exec' 
/usr/local/share/gems/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/postgresql/database_statements.rb:98:in `block in execute' 
/usr/local/share/gems/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:566:in `block in log' 
/usr/local/share/gems/gems/activesupport- 

Je ne peux pas mettre toute erreur ici et est ici le code database.yml

default: &default 
    adapter: postgresql 
    encoding: unicode 
    # For details on connection pooling, see rails configuration guide 
    # http://guides.rubyonrails.org/configuring.html#database-pooling 
    pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> 

development: 
    <<: *default 
    database: freelance_camp_documents_development 

test: 
    <<: *default 
    database: freelance_camp_documents_test 

production: 
    <<: *default 
    database: freelance_camp_documents_production 
    username: freelance_camp_documents 
    password: <%= ENV['FREELANCE_CAMP_DOCUMENTS_DATABASE_PASSWORD'] %> 
+0

J'espère que vous êtes fonctionnant en mode "développement". Vous n'avez spécifié aucun nom d'utilisateur dans 'database.yml' pour ce mode. – 31piy

+0

@ 31piy J'ai remarqué cela à partir du fichier database.yml, mais comment exécuter le mode dev. Je viens de lancer la ligne 'bundle exec rake db: setup 'dans le terminal et j'ai eu cette erreur, je ne suis pas encore en train d'utiliser le serveur. – geeksamu

+0

Ce n'est pas lié à l'exécution du serveur. Vous devez spécifier l'utilisateur que vous voulez utiliser dans votre fichier 'database.yml', afin que les rails puissent configurer ce DB. Vous devez visiter votre configuration postgres pour cela. – 31piy

Répondre

0

PG::InsufficientPrivilege: ERROR: permission denied to create database

Le problème ici est que vous n'avez pas les privilèges suffisants pour l'utilisateur freelance_camp_documents sur Postgres.

Je suggère de modifier les autorisations pour l'utilisateur de freelance_camp_documents postgre simplement changer le nom d'utilisateur pour postgres

production: 
    <<: *default 
    database: freelance_camp_documents_production 
    username: postgres 
    password: <%= ENV['FREELANCE_CAMP_DOCUMENTS_DATABASE_PASSWORD'] %> 

postgres utilisateur dispose des autorisations par défaut de sorte que vous n'avez pas besoin de changer quoi que ce soit

+0

J'ai changé le nom d'utilisateur dans database.yml et la même erreur: \ – geeksamu