Instalé Postgresql y luego ejecuté un montón de aplicaciones de rieles en mi Mac OSX Mountain Lion local y creé bases de datos, etc. Hoy, después de un tiempo, cuando inicié pgAdminIII e intenté iniciar un servidor de base de datos, recibí este error:

Un google rápido mostró esta publicación. Más búsquedas apuntaron al hecho de que podría haber algún tipo de archivo postmaster.pid por ahí que podría ser la causa raíz de esto. Si elimino eso, todo irá bien.
Sin embargo, antes de eliminar cosas en mi computadora, quería asegurarme de que estoy depurando esto de una manera sistemática, lo que no daría lugar a más problemas.
En algún lugar leí que antes de eliminar ese archivo, necesito ejecutar este comando:
ps auxw | grep post
Si no obtengo resultados, está bien eliminar el archivo. De lo contrario, no. Bueno, obtuve este resultado de ese comando:
AM 476 0.0 0.0 2423356 184 s000 R+ 9:28pm 0:00.00 grep post
Así que ahora, por supuesto, estoy completamente confundido.
¿Entonces qué debo hacer?
Aquí está parte de mi registro de errores del servidor de Postgres:
FATAL: lock file "postmaster.pid" already exists
HINT: Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
Postgresql todavía no se está ejecutando, sigue recibiendo el mismo error y nada ha cambiado. Soy demasiado cobarde para borrar cosas sin comprobar SO.
¿Podrían algunos de ustedes expertos guiar a un novato?
Gracias

postmaster.pid. El servidor lo elimina al inicio si no es válido (obsoleto) y es importante para la protección de datos. Por favor, explique cómo instaló PostgreSQL en su ordenador para empezar - a través de EnterpriseDB instalador, homebrew, Postgres.app, qué? También mencione la versión de PostgreSQL. Finalmente, si agrega explícitamente "localhost" a las opciones de conexión en Pgadmin-III, ¿funciona? Si es así, te está mordiendo una decisión de empaque realmente mala que Apple tomó hace un tiempo ...postmaster.pid, puede eliminarlo después de verificar que no haypostgresprocesos en ejecución, es vital que se asegure de que de hecho no hay procesos de PostgreSQL. Sinpostmaster.pidembargo, si el servidor no elimina un archivo obsoleto, me parece un error.Respuestas:
Hoy tuve el mismo problema en Mac Sierra. En Mac Sierra puedes encontrar
postmaster.piddentro/Users/<user_name>/Library/Application Support/Postgres/var-9.6. Eliminarpostmaster.pidy se solucionará el problema.fuente
postmaster.piden esta ubicación y se solucionó el problema. ¡Gracias!postmaster.pidarchivo ya que estoy usando Postgres.app/Users/<user>/Library/Application\ Support/Postgres/var-10/postmaster.pidcat postmaster.piden el directorio para echar un vistazo y hacer referencia a que no ve el PID ejecutándose en algo como el monitor de actividad. La interfaz de usuario de Postgres te alertará sobre esto, pero pensé que debería ponerlo aquí antes de que la gente se dé cuenta de cómo comprobarlo tú mismo. También debería ser suficiente buscarpostgresen el monitor de actividad y eliminar todo lo que esté relacionado, o simplemente reiniciar su sistema y luego eliminar el archivo. No hacer esto podría resultar en una base de datos corrupta 🔥Esto puede suceder si la base de datos no se cerró correctamente. Para solucionarlo, simplemente elimine el
postmaster.pidarchivo. La ubicación difiere según su sistema operativo:Mac OS:
o usando Postgres.app:
Linux:
fuente
postmaster.pidy ejecutarlopostgres -D /usr/local/var/postgres, me advierte sobre la causa del error: "el sistema de base de datos no se cerró correctamente; recuperación automática en curso"Tengo la base de datos funcionando ahora.
Estos son los pasos que tomé:
cd /ls -laMackintoshHD/usr/local/var/postgresls -lacp postmaster.pid ~/Desktopque copió el archivo en mi escritorio.Me gusta hacer esto si estoy borrando archivos. Si algo sale mal, puedo devolverlorm -r postmaster.pidGracias a @Craig Ringer por su ayuda
fuente
Estoy usando Postgres.app, y lo siguiente funcionó para mí:
Ingresé los comandos en mi terminal a continuación, ubicando la carpeta Postgres de antemano y sin usar "justin".
$declare -x PGDATA="/Users/justin/Library/Application Support/Postgres/var-9.4" $pg_ctl restart -m immediateComo Justin explica en su publicación, el resultado después de esto fue:
Después de ingresar el comando nuevamente:
Funcionó y recibí este mensaje:
Fuente
fuente