Au redémarrage de mon Mac, j'ai eu l'erreur redoutée de Postgres:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
La raison pour laquelle cela s'est produit est que mon macbook a complètement gelé en raison d'un problème non lié et j'ai dû faire un redémarrage dur à l'aide du bouton d'alimentation. Après le redémarrage, je n'ai pas pu démarrer Postgres à cause de cette erreur.
macos
postgresql
Dragon de feu
la source
la source
brew reinstall postgresql
stackoverflow.com/a/39781473/6086226 a fonctionné pour moiRéponses:
AVERTISSEMENT: si vous supprimez postmaster.pid sans vous assurer qu'aucun
postgres
processus ne vous exécute, cela pourrait corrompre définitivement votre base de données . (PostgreSQL devrait le supprimer automatiquement si le postmaster est sorti.).SOLUTION: cela a résolu le problème - j'ai supprimé ce fichier, puis tout a fonctionné!
-
et voici comment j'ai compris pourquoi cela devait être supprimé.
J'ai utilisé la commande suivante pour voir s'il y avait des processus PG en cours d'exécution. pour moi il n'y en avait pas, je n'ai même pas pu démarrer le serveur PG:
J'ai recherché le fichier .s.PGSQL.5432 qui était dans le message d'erreur ci-dessus. j'ai utilisé la commande suivante:
cela ne montrait rien après avoir fouillé tout mon ordinateur donc le fichier n'existait pas, mais visiblement
psql
"le voulait" ou "pensait qu'il était là".J'ai jeté un œil aux journaux de mon serveur et j'ai vu l'erreur suivante:
à la fin du journal du serveur, je vois l'erreur suivante:
En suivant les conseils du message d'erreur, j'ai supprimé le fichier postmaster.pid dans le même répertoire que server.log. Cela a résolu le problème et j'ai pu redémarrer.
Il semble donc que le gel et le redémarrage dur de mon Macbook aient fait penser à Postgres que ses processus étaient toujours en cours d'exécution même après le redémarrage. Suppression de ce fichier résolue. J'espère que cela aide les autres! Beaucoup de gens ont des problèmes similaires, mais la plupart des réponses concernaient les autorisations de fichiers, alors que dans mon cas, les choses étaient différentes.
la source
postgres
processus n'est en cours d'exécution avant de le faire./usr/local/var/log/postgres.log
.Rien de ce qui précède n'a fonctionné pour moi. J'ai dû réinstaller Postgres de la manière suivante:
brew uninstall postgresql
brew doctor
(réparer ce qui est ici)brew cleanup
Supprimez tous les dossiers Postgres:
rm -r /usr/local/var/postgres
rm -r /Users/<username>/Library/Application\ Support/Postgres
Réinstallez postgresql avec brew:
brew install postgresql
brew services start postgresql
createdb
)la source
brew postgresql-upgrade-database
brew reinstall postgres
, confirmant que le dernier numéro de version principale de Homebrew Postgres était le même que mon actuel (cassé).Si vous êtes sur macOS et avez installé postgres via homebrew, essayez de le redémarrer avec
Si vous êtes sur Ubuntu, vous pouvez le redémarrer avec l'une de ces commandes
la source
Ce n'est peut-être pas lié, mais une erreur similaire apparaît lorsque vous effectuez une mise
postgres
à niveau vers une version principale à l'aide debrew
; en utilisantbrew info postgresql
découvert cela qui a aidé:la source
Voici ma voie:
la source
fix-my-postgresql
, l'exécutera :)si votre
postmaster.pid
est parti et que vous ne pouvez pas redémarrer ou quoi que ce soit, procédez comme suit:pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
comme expliqué ici initialement
la source
Bonjour tout le monde :)
La meilleure mais étrange façon pour moi était de faire les choses suivantes.
1) Téléchargez postgres93.app ou une autre version. Ajoutez cette application dans le dossier / Applications /.
2) Ajoutez une ligne (commande) dans le fichier
C'est un CHEMIN à.bash_profile
(qui se trouve dans mon répertoire personnel):psql
partir dePostgres93.app
. La ligne (commande) s'exécute à chaque démarrage de la console.3) Lancer à
Postgres93.app
partir du/Applications/
dossier. Il démarre un serveur local (le port est "5432" et l'hôte est "localhost").4) Après toutes ces manipulations, j'étais heureux d'exécuter
$ createuser -SRDP user_name
et d'autres commandes et de voir que cela fonctionnait!Postgres93.app
peut être exécuté pour s'exécuter à chaque démarrage de votre système.5) De plus, si vous voulez voir graphiquement vos bases de données, vous devez les installer
PG Commander.app
. C'est un bon moyen de voir votre base de données PostgreSQL comme de jolies tables de donnéesBien sûr, cela n'est utile que pour le serveur local. Je serai heureux si ces instructions aident les autres personnes confrontées à ce problème.
la source
export PATH='/usr/local/Cellar/postgresql/9.4.1/bin/':$PATH
- Gardez à l'esprit que votre numéro de version peut être différent.Ce problème a de nombreuses sources et donc de nombreuses réponses. J'ai connu chacun d'eux.
1) Si vous avez un crash quelconque, la suppression du fichier /usr/local/var/postgres/postmaster.pid est probablement nécessaire car postgres ne l'a peut-être pas traité correctement. Mais assurez-vous qu'aucun processus n'est en cours d'exécution.
2) Craig Ringer a souligné dans d'autres articles que le regroupement d'Apple de postgreSQL entraîne des problèmes d'installation de pg gem. La définition de la variable d'environnement PATH est une solution.
3) Une autre solution consiste à désinstaller et réinstaller la gemme. Une mise à jour de l'infusion peut également être nécessaire.
Si vous tombez sur ce post, si vous pouvez identifier l'une des sources, vous gagnerez du temps ...
la source
Pour moi, la solution était simplement de redémarrer mon ordinateur. J'ai d'abord essayé de redémarrer avec les services Brew et lorsque cela n'a pas fonctionné, le redémarrage semblait être la meilleure option à essayer avant de rechercher certaines des solutions les plus complexes. Tout a fonctionné comme il se doit après.
la source
J'étais confronté à un problème similaire ici, j'ai résolu ce problème comme ci-dessous.
En fait, le processus postgres est mort, pour voir l'état de postgres, exécutez la commande suivante
Il dira que le processus est mort, il suffit de démarrer le processus
la source
Cela m'est arrivé après que mon Mac (High Sierra) a gelé et j'ai dû le redémarrer manuellement (appuyez et maintenez le bouton d'alimentation). Tout ce que j'avais à faire pour le réparer était de faire un redémarrage propre.
la source
Mon problème a fini par être que j'utilisais Gas Mask (un gestionnaire de fichiers hôtes pour Mac), et je n'avais pas d'entrée pour localhost dans le fichier hôtes que j'utilisais.
J'ai ajouté:
Et cela a résolu mon problème.
la source
Je ne sais pas vraiment pourquoi, mais mon installation Postgres a été un peu vissée et certains fichiers ont été supprimés, ce qui entraîne l'erreur OP.
Malgré le fait que je puisse exécuter des commandes comme
brew service retart postgres
et voir les messages appropriés, cette erreur a persisté.J'ai parcouru la documentation postgres et j'ai trouvé que mon dossier
/usr/local/var/postgres
était totalement vide. J'ai donc exécuté ce qui suit:Il semble que certaines configurations aient eu lieu avec cette commande.
Ensuite, il m'a demandé d'exécuter ceci:
Et cela m'a dit qu'un fichier postmaster.pid existe déjà.
J'avais juste besoin de savoir si le brassage serait en mesure de récupérer les configurations que je venais de lancer, alors je l'ai testé.
Cela m'a montré un fichier postmaster.pid. Je l'ai ensuite fait
brew services stop postgresql
et le fichier postmaster.pid a disparu. Puis je l'ai faitbrew services start postgresql
, et VIOLA, le dossier est réapparu.Ensuite, je suis allé de l'avant et j'ai exécuté mon application, qui a en fait trouvé le serveur, mais mes bases de données semblent avoir disparu.
Bien que je sache qu'ils ne sont peut-être pas disparus du tout - la nouvelle initialisation que j'ai faite peut avoir créé un nouveau data_area, et l'ancien n'est pas pointé du doigt. Je devrais regarder où cela en est et le signaler ou simplement créer à nouveau mes bases de données.
J'espère que cela t'aides! La lecture des documents postgres m'a beaucoup aidé. Je déteste lire les réponses qui sont comme "Collez ça en marche!" parce que je ne sais pas ce qui se passe et pourquoi.
la source
Les causes de cette erreur sont nombreuses, alors commencez par localiser votre fichier journal et vérifiez-le pour trouver des indices. Ce pourrait être à
/usr/local/var/log/postgres.log
ou/usr/local/var/postgres/server.log
ou peut-être ailleurs. Si vous avez installé avec Homebrew, vous pouvez trouver l'emplacement dans~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
.la source
J'ai eu le même problème. La plupart du temps, le problème est le fait qu'il y a un fichier restant
/usr/local/var/postgres/postmaster.pid
ce qui fonctionne pour la plupart des gens, mais mon cas était différent - j'ai essayé de googler ce problème pendant les 3 dernières heures, j'ai désinstallé postresql sur OSX via brew, purgé la base de données, rien n'a fonctionné.
Enfin, j'ai remarqué que j'avais un problème avec l'infusion que chaque fois que j'essayais d'installer quoi que ce soit, il apparaissait:
Error: Permission denied @ rb_sysopen - /private/tmp/github_api_....
ou quelque chose comme ça à la fin d'une installation.
Je l'ai fait
sudo chmod -R 777 /private/tmp
et ça marche enfin!J'écris ceci parce que cela pourrait être une solution pour quelqu'un d'autre
la source
Allez
/var/log/
et lancez catpostgres.log
Ici vous trouverez la raison de l'échec des postgres. S'il s'agit d'un arrêt intelligent, votreicu4c
version (bibliothèque C ++ pour Unicode) n'est probablement pas appropriée et est liée àpostgres
. Exécutez donc les commandes suivantes.brew upgrade
brew cleanup
Cela devrait fonctionner;)la source
brew style
ensuite sibrew cleanup
casse Homebrew.J'ai dû consulter ce post plusieurs fois pour résoudre ce problème. Il existe un autre correctif, qui s'appliquera également à des problèmes similaires avec d'autres programmes en cours d'exécution.
Je viens de découvrir que vous pouvez utiliser les deux commandes suivantes.
$ top
Cela montrera toutes les actions en cours d'exécution avec leurs numéros PID. Lorsque vous trouvez des postgres et le pid associé
$ kill pid_number
la source
Je viens de recevoir le même problème que j'ai mis ma machine (
ubuntu
) à jour et j'ai obtenu une erreur ci-dessous:Après avoir terminé le processus de mise à jour lorsque je redémarre, mon erreur système a disparu. Et son travail comme par le charme comme avant .. Je suppose que cela s'est produit pendant la mise à jour de pg et un autre processus a commencé.
la source
SUPER NEWBIE ALERT: J'apprends juste le développement web et le tutoriel particulier que je suivais mentionnait que je devais installer Postgres mais je n'ai pas mentionné que je devais l' exécuter aussi ... Une fois que j'ai ouvert l'application Postgres, tout allait bien et dandy.
la source
La réponse de @Jagdish Barabari m'a donné l'indice dont j'avais besoin pour résoudre ce problème. Il s'avère que deux versions de postgresql ont été installées alors qu'une seule était en cours d'exécution. La purge de tous les fichiers postgresql et la réinstallation de la dernière version ont résolu ce problème pour moi.
la source
J'ai supprimé / usr / lib de LD_LIBRARY_PATH et cela a fonctionné. Je travaillais dans les postgres de dockerfile: alpine.
la source