AVERTISSEMENT :Si vous supprimez postmaster.pid sans vous assurer qu'il n'y a vraiment pas de postgres
les processus qui vous exécutent pourraient corrompre définitivement votre base de données . (PostgreSQL devrait le supprimer automatiquement si le postmaster a quitté.).
SOLUTION :Cela a résolu le problème :j'ai supprimé ce fichier, puis tout a fonctionné !
/usr/local/var/postgres/postmaster.pid
--
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 :
ps auxw | grep post
-
J'ai recherché le fichier .s.PGSQL.5432 qui était dans le message d'erreur ci-dessus. j'ai utilisé la commande suivante :
sudo find / -name .s.PGSQL.5432 -ls
cela n'a rien montré après avoir recherché tout mon ordinateur, donc le fichier n'existait pas, mais évidemment
psql
"je le voulais" ou "je pensais qu'il était là". -
J'ai jeté un coup d'œil aux journaux de mon serveur et j'ai vu l'erreur suivante :
cat /usr/local/var/postgres/server.log
à la fin du journal du serveur, je vois l'erreur suivante :
FATAL: pre-existing shared memory block (key 5432001, ID 65538) is still in use HINT: If you're sure there are no old server processes still running, remove the shared memory block or just delete the file "postmaster.pid".
-
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.
Ainsi, il semble que mon macbook se fige et soit redémarré durement, ce qui a amené Postgres à penser que ses processus fonctionnaient toujours même après le redémarrage. Suppression de ce fichier résolu. 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.