ADVERTENCIA:Si elimina postmaster.pid sin asegurarse de que realmente no hay postgres
procesos que lo ejecutan, podrían corromper permanentemente su base de datos . (PostgreSQL debería eliminarlo automáticamente si el postmaster ha salido).
SOLUCIÓN:Esto solucionó el problema:¡borré este archivo y todo funcionó!
/usr/local/var/postgres/postmaster.pid
--
y así es como descubrí por qué esto necesitaba ser eliminado.
-
Usé el siguiente comando para ver si había algún proceso PG en ejecución. para mi no hubo ninguno, ni siquiera pude iniciar el servidor PG:
ps auxw | grep post
-
Busqué el archivo .s.PGSQL.5432 que estaba en el mensaje de error anterior. usé el siguiente comando:
sudo find / -name .s.PGSQL.5432 -ls
esto no mostró nada después de buscar en toda mi computadora, por lo que el archivo no existía, pero obviamente
psql
"lo quería" o "pensé que estaba allí". -
Eché un vistazo a los registros de mi servidor y vi el siguiente error:
cat /usr/local/var/postgres/server.log
al final del registro del servidor veo el siguiente error:
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".
-
Siguiendo el consejo del mensaje de error, eliminé el archivo postmaster.pid en el mismo directorio que server.log. Esto resolvió el problema y pude reiniciar.
Por lo tanto, parece que mi macbook se congeló y se reinició de forma forzada hizo que Postgres pensara que sus procesos aún se estaban ejecutando incluso después del reinicio. Eliminación de este archivo resuelto. ¡Espero que esto ayude a otros! Mucha gente tiene problemas similares, pero la mayoría de las respuestas tenían que ver con los permisos de archivo, mientras que en mi caso las cosas eran diferentes.