Je reçois cette erreur à chaque fois que je lance l'application Rails (It ne peut pas me connecter à mon Postgresql local})
/Users/leonardo/.rvm/gems/Ruby-1.9.3-p362/gems/activerecord-3.2.11/lib/
active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize':
could not connect to server: No such file or directory (PG::Error)
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
J'utilise Postgres.app qu'il fonctionne correctement.
Si je cours
$ psql
Je peux me connecter correctement à la console Postgresql.
$ which psql
/Applications/Postgres.app/Contents/MacOS/bin/psql
Gemfile
source 'https://rubygems.org'
Ruby "1.9.3"
gem 'Rails', '3.2.11'
gem "pg"
database.yml
development:
adapter: postgresql
encoding: unicode
username: leonardo
password:
database: zapping
port: 5432
Postgresql (Console)
$ psql
leonardo=# \l
Essayez d’ajouter Host: localhost
à votre database.yml. (Basé sur: https://stackoverflow.com/a/10793186/919641 )
Votre gemme Pg
a été compilée avec PostgreSQL libpq préinstallé dans Mac OS X et vous utilisez la psql
que vous avez installée dans une version plus récente, ou inversement.
Cela peut être contourné en spécifiant une connexion TCP/IP, en ajoutant localhost
à database.yml
, mais il est préférable de compiler la gem Pg
avec la libpq
pour le serveur que vous exécutez réellement. Pour ce faire, vous devriez pouvoir définir la variable d’environnement PATH
dans le dossier contenant le pg_config
correct avant la compilation. Dans votre cas, ce sera quelque part dans Postgres.app
.
Si cela ne fonctionne pas même après avoir ajouté Host: localhost
, supprimez le postmaster.pid
.
rm /usr/local/var/postgres/postmaster.pid
vous devriez ajouter Host: localhost
à votre configuration de base de données ...
J'ai eu le même problème sur un Mac. Il s'avère que le psql que j'avais sur mon chemin ne fonctionnait pas correctement. Essayez de lancer psql en tapant:
~/projects/some_project/project-Rails$ psql
psql: 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"?
Si vous voyez ceci, cela indique que le binaire psql sur votre chemin tente de se connecter à l'aide de socket et qu'il est incapable de le faire (pour une raison quelconque). Comme j'avais déjà téléchargé pgadmin et que la connexion était bonne, je savais que ce n'était pas un problème avec le serveur.
Le corrige en ajoutant la bonne version de pgsql à mon CHEMIN:
export PATH=/Applications/Postgres.app/Contents/MacOS/bin:$PATH
Maintenant, psql (et Rails) sont heureux!
J'ai eu le même problème. Vous devez réellement exécuter/démarrer postgres. Postgres doit avoir cessé de fonctionner sur mon ordinateur récemment, je devais donc m'assurer qu'il fonctionne en démarrant le serveur postgres
postgres -D /usr/local/var/postgres
Ensuite, les commandes suivantes (qui me causaient la même erreur) ont toutes fonctionné:
bundle exec rake db:create db:migrate
bundle exec rspec
Comme il s’agissait du premier message publié dans les résultats de ma recherche, j’ai décidé de publier le correctif mis à jour correspondant. Depuis aucune de la suggestion ci-dessus n'a fonctionné pour moi.
brew postgresql-upgrade-database
Il met à jour les données postgresql et a déplacé mon ancienne version. J'étais sur 9,6 au lieu de 10,4
Trouvé la solution ici
J'ai eu ce problème. Un des commentaires ici m'a aidé à résoudre le problème.
Merci, cette réponse m'a aidé à le réparer. Les étapes que j'ai suivies étaient simples: 1) gem désinstallez pg, 2) bundle install, done. - Haslo 3 décembre 13 à 20:27
gem uninstall pg
bundle install
find/-name 'postgresql.conf'
netstat -an | grep 5432 # => /tmp/.s.PGSQL.5432
vi/Utilisateurs/admin/Bibliothèque/Application\Support/Postgres93/var/postgresql.conf
FROM: unix_socket_directories = '/ tmp'
TO: unix_socket_directories = '/ var/pgsql_socket'
Sudo mkdir/var/pgsql_socket
Sudo chmod 777/var/pgsql_socket
Pour heroku c'est tout ce dont vous avez besoin.
heroku addons:create heroku-postgresql
production:
adapter: postgresql
encoding: unicode
Host: localhost
# For details on connection pooling, see Rails configuration guide
# http://guides.rubyonrails.org/configuring.html#database-pooling
pool: 5
Mon problème était que le fichier /etc/hosts
avait changé et n'avait pas cette entrée cruciale: 127.0.0.1 localhost
J'ai juste eu le problème que l'application postgres ne fonctionnait pas sur mon mac ...
Sur Mac, j'avais différentes versions de postgresql. Ce problème a été résolu lorsque j'ai essayé brew switch postgresql 9.5.5
(je ne pense pas que le numéro de version importe à ce stade)
$ brew switch postgresql 9.5.5
Cleaning /usr/local/Cellar/postgresql/9.6.1
Cleaning /usr/local/Cellar/postgresql/9.6.5
Cleaning /usr/local/Cellar/postgresql/10.2
Cleaning /usr/local/Cellar/postgresql/10.3
Cleaning /usr/local/Cellar/postgresql/9.5.5
Cleaning /usr/local/Cellar/postgresql/9.5.4
Toutes les données disparaîtront, au fait. Je suppose qu'il existe une commande d'infusion permettant de faire cela sans changer de version, que je n'ai pas pu trouver.
J'ai eu le même problème sur OS High Sierra 10.13 J'ai suivi les instructions de ce site. J'ai téléchargé la version 10.4 Ref: https://postgresapp.com/
Puis j'ai ajouté ceci au profil bash: Export PATH = $ PATH: /Library/PostgreSQL/10.4/bin: $ PATH
redémarrez le terminal.
Ouvrez une nouvelle fenêtre de terminal, puis tapez: psql -U postgres
après cela, vous verrez le message suivant: psql (10.4) Tapez "aide" pour obtenir de l'aide.
postgres = #