He estado buscando una solución para esto y no pude encontrar una solución que funcione.
Instalé postgres usando brew ( brew install postgres
) en mi MacBook y actualmente lo estoy ejecutando usando brew services ( brew services list
muestra postgres como un servicio en ejecución). Sin embargo, cuando intento ejecutar psql
, obtengo el siguiente error.
psql: no se pudo conectar al servidor: no existe ese archivo o directorio. ¿El servidor se ejecuta localmente y acepta conexiones en el socket de dominio Unix "/tmp/.s.PGSQL.5432"?
¿Alguien ya ha resuelto un problema similar?
macos
postgresql
homebrew
leo.fcx
fuente
fuente
tail /usr/local/var/log/postgres.log
. Esto puede brindarle más información sobre exactamente por qué falla postgres. Por lo general, puede publicar el mensaje de error de ese registro en Google y encontrar otra solución en StackOverflow :-DHoy me encontré con este problema. postgres dejó de aceptar conexiones aunque homebrew pensó que se estaba ejecutando.
Para arreglarlo corrí
Salida de este comando,
Luego pensé, hmm, tal vez haya algo en ese archivo de registro,
Bastante seguro,
[4826] FATAL: lock file "postmaster.pid" already exists [4826] HINT: Is another postmaster (PID 1489) running in data directory "/usr/local/var/postgres"?
Entonces, eliminé ese archivo
Y todo empezó a funcionar de nuevo.
fuente
tail -n 10 /usr/local/var/log/postgres.log
En mi caso, el
postmaster.pid
archivo ni siquiera estaba allí. Lo conseguí actualizando postgres.brew update brew upgrade
Luego, debido a que actualicé la versión principal de 10 a 11, también tuve que ejecutar esto:
(fuente https://github.com/facebook/react-native/issues/18760#issuecomment-410533581 )
fuente
/usr/local/var/log/postgres.log
archivo puede tener esto como los últimos registros:FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 11, which is not compatible with this version 12.2.
Combinaría las dos respuestas de Wilson y Grasshopper aquí.
Puede verificar el archivo plist para el servicio postgres usando
brew services list
para encontrar la ubicación del archivo y simplemente abrirlo en su editor favorito.Debería ver el valor de
StandardErrorPath
enumerado como:Y luego debe terminar el final del archivo de registro usando
tail -n 100 /usr/local/var/log/postgres.log
En mi caso el error fue el siguiente:
Esto se debió a que tuve que apagar mi Mac y postgres no tuvo la oportunidad de limpiar el archivo PID. Simplemente elimine el archivo PID
rm /usr/local/var/postgres/postmaster.pid
e inicie postgresbrew services start postgresql
Una advertencia: no elimine este archivo PID a menos que esté seguro de que postgres no se está ejecutando . Puede hacer esto ejecutando
brew services stop postgresql
y luego esperando el resultado debrew services list
para mostrar que posgres está en el estado detenido.fuente
Lo que funcionó para mí fue eliminar la
/usr/local/var/postgres/
carpeta y luego desinstalar e instalar postgres nuevamentefuente
Recibí el mismo error al instalar postgresql93 desde las versiones tap. Inspeccionando el archivo .plist indicado en la salida de
brew services list
(~/Library/LaunchAgents/homebrew.mxcl.postgresql93.plist
) encontré el siguiente mensaje:Lo que me llevó a esta respuesta: el directorio de datos "/ usr / local / var / postgres" tiene una propiedad incorrecta
Después de ejecutar
sudo chmod -R 700 /usr/local/var/postgres
recibí un error diferente:Lo que luego me llevó a: `pg_tblspc` falta después de la instalación de la última versión de OS X (Yosemite o El Capitan)
Después de ejecutar
mkdir /usr/local/var/postgres/pg_tblspc/
el clúster se inició correctamente.fuente
En caso de que tenga instaladas varias versiones de postgresql. Los comandos mencionados a continuación harán el trabajo de eliminar el ID del proceso (pid) y reiniciarlo. Solo asegúrate de seleccionar la versión correcta.
Consulte también la respuesta de Eric Corner para confirmar si el problema es sobre "el archivo de bloqueo postmaster.pid ya existe" en el archivo de registro.
fuente
actualizarlo usando el comando
si tiene el siguiente error , no se encuentra el comando 'brew', pero se puede instalar con: sudo apt install linuxbrew-wrapper
luego instálelo usando el comando
sudo apt install linuxbrew-wrapper
fuente
En mi propio caso, el
postgres.log
archivo contiene esto.HINT: Is another postmaster already running on port 5432? If not, remove socket file "/tmp/.s.PGSQL.5432" and retry.
Después de eliminar el archivo de socket y reiniciar, todo funcionó bien. Tenga en cuenta que este es un archivo oculto y no será visible a través del navegador de ventanas. La eliminación debe realizarse a través de la línea de comando.fuente
Es posible que esté viendo un conflicto de versiones libssl / libcrypto.
brew services start postgres
los registros no me dieron nada, pero comenzando manualmentepg_ctl -D /usr/local/var/postgres start
apuntando a:falta la definición _RAND_cleanup en /.../openssl/lib/libcrypto.1.0.0.dylib
Prueba con:
brew tap-new $USER/old-openssl brew extract --version=1.0.2t openssl $USER/old-openssl brew install openssl@1.0.2t # and then either brew link [email protected] or symlink the required files to current openssl ln -s /usr/local/Cellar/openssl/openssl@1.0.2t/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib ln -s /usr/local/Cellar/openssl/openssl@1.0.2t/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
fuente
En caso de que todas las demás respuestas no funcionen ...
Estaba viendo este mismo mensaje y la respuesta aceptada, corriendo
rm -f /usr/local/var/postgres/postmaster.pid
no funcionó. Tampoco
rm -f /usr/local/var/[email protected]/postmaster.pid
después de recordar que tenía instalada una versión específica.Hice una
cat /usr/local/var/log/[email protected]
y vi:FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 1231) running in data directory "/usr/local/var/[email protected]"?
** cara pensante **
Cerró el simulador de iOS. Postgres se reinició por sí solo.
Esto está en una computadora de escritorio y ayer se cortó la energía, por lo que, según las otras respuestas, sospecho que la causa principal es el cierre forzado sin darle la oportunidad de limpiar las cosas.
fuente