Dans les Rails, ne pouvaient pas créer de base de données pour {“adaptateur”=>“postgresql”,
Je suis en train de lancer rake db:create
ou rake db:setup
mais j'obtiens l'erreur suivante. C'est étrange parce que rake db:create
il fonctionne à partir d'autres dossiers avec d'autres Rails de projets.
user:project user$ rake db:create
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `initialize'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `new'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `connect'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:260:in `initialize'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `new'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `postgresql_connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:304:in `new_connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:323:in `checkout_new_connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block (2 levels) in checkout'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `loop'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:261:in `block in checkout'
/Users/user/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:260:in `checkout'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:162:in `connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:409:in `retrieve_connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:107:in `retrieve_connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:89:in `connection'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:110:in `rescue in create_database'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:54:in `create_database'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/railties/databases.rake:42:in `block (2 levels) in <top (required)>'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/user/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/user/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/user/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load'
/Users/user/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>'
Couldn't create database for {"adapter"=>"postgresql", "database"=>"project_test", "username"=>nil, "password"=>nil, "min_messages"=>"warning"}
C'est mon database.yml
development:
adapter: postgresql
database: project_development
username:
password:
min_messages: warning
test:
adapter: postgresql
database: project_test
username:
password:
min_messages: warning
production:
adapter: postgresql
database: project_production
username:
password:
min_messages: warning
Posgree est insatelled sur /usr/local/var/postgres
. Ne devrait pas rake essayez de regarder dans le même dossier au lieu de /var/pgsql_socket/
? (Je n'ai pas de /usr/local/var/pgsql_socket de toute façon)
C'est à se plaindre sur le serveur postgres pas en cours d'exécution. S'agit-il? Est-il de l'installation à l'écoute sur le support de votre application tente de se connecter?
Mais le serveur est en cours d'exécution, est la seule à se plaindre à propos de ce projet en particulier. Le socket n'est pas défini sur la base de données.sql. Tout est réglé par défaut.
Connexes: stackoverflow.com/questions/13410686/... stackoverflow.com/questions/13538593/...
Mais le serveur est en cours d'exécution, est la seule à se plaindre à propos de ce projet en particulier. Le socket n'est pas défini sur la base de données.sql. Tout est réglé par défaut.
Connexes: stackoverflow.com/questions/13410686/... stackoverflow.com/questions/13538593/...
OriginalL'auteur Martin | 2012-05-26
Vous devez vous connecter pour publier un commentaire.
Résolu!
Solution est simple à mettre à jour installée actuelle de pierres précieuses.
Une autre solution pour essayer de définir
host: localhost
ou que ce soit l'accueil que vous utilisez sur les paramètres de développement sur la base de données.fichier yml.Essayez d'ajouter
host: localhost
ou que ce soit l'accueil que vous utilisez sur votre base de données.fichier ymlhost: localhost
est ce qui me manquaitOriginalL'auteur Martin
J'ai installé PG sur Mac OS X via Homebrew (je ne le savais pas, il est venu par défaut dans Mac OS X), et avait le même problème. J'ai peut être fait qu'aggraver le problème en installant le pg gem avant d'installer pg via Homebrew.
J'ai résolu ce problème en procédant comme suit:
gem uninstall pg
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
(si vous avez créé un rails de projet avec le pg de l'installation, ceci est expliqué dans votre base de données.yml fichier de config)Et cela a fonctionné!
OriginalL'auteur zquintana
J'ai rencontré un problème identique et a été en mesure de résoudre l'erreur par:
l'ajout de config/database.yml
la réinitialisation de la mémoire partagée paramètres tel que recommandé dans la section dépannage de http://postgresapp.com/documentation:
N'est pas le seul environnement de développement vous vous souhaitez vous connecter à localhost?
OriginalL'auteur tongamite
La réponse de zquintana ci-dessus a fonctionné pour moi avec quelques petits bémols.
Ma solution (à l'aide de Homebrew):
gem uninstall pg
brew uninstall postgresql
brew install postgresql
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Maintenant ré-installer la gem avec l'Homebrew configs
gem install pg -- --with-pg-config=/usr/local/bin/pg_config
Maintenant exécuter votre
rake db:create
OriginalL'auteur Kevin Sherman
Dans mon cas, c'était tout ce dont j'avais besoin: https://dba.stackexchange.com/a/75221
OriginalL'auteur przemek
Également vérifier que vous n'avez pas une connexion ouverte comme un client ou d'une application connectée à l'instance. Si cela vous arrive, vous verrez cela dans l'erreur
OriginalL'auteur gabocalero
Tout d'abord, vous devrez créer votre utilisateur manuellement dans Postgres, tout en accordant le privilège de création de base de données (AKA createdb) pour cet utilisateur.
Pour ce faire, tout d'abord, ouvrez Postgres l'invite du shell
$ sudo -u postgres psql
Créer votre utilisateur
postgres=# create role Your_DB_username with createdb login password 'YOUR_PASSWORD';
Sortie de Postgres shell
postgres=# \q
Faire ce que db liées à la tâche rake:
$ rake db:create
Et il va fonctionner!
OriginalL'auteur Ahmed Samir Shahin
J'ai été en mesure de résoudre ce problème en veillant à ce que le nom de ma base de données dans la base de données.fichier yml était dans le format suivant: appname_development, appname_test, et appname_production. Voici ma base de données.fichier yml comme un exemple:
OriginalL'auteur zero_cool