ruby-on-rails - ejemplos - ruby on rails tutorial
¿Se está ejecutando el servidor en el host "localhost"(:: 1) y está aceptando conexiones TCP/IP en el puerto 5432? (10)
Antes de nada, tenga en cuenta que he encontrado varias preguntas similares sobre Stack Overflow y artículos en toda la web, pero ninguno de ellos me ayudó a solucionar mi problema:
- PG Error no pudo conectarse al servidor: Conexión rechazada ¿Se está ejecutando el servidor en el puerto 5432?
- PG :: ConnectionBad - no se pudo conectar al servidor: conexión rechazada
- psql: no se pudo conectar al servidor: conexión rechazada
Ahora, aquí está el problema:
- Tengo una aplicación Rails que funciona como un encanto.
- Con mi colaborador, usamos GitHub para trabajar juntos.
- Tenemos un
master
y unmvp
. - Recientemente actualicé mi versión
git
con Homebrew (Mac). - Usamos Foreman para iniciar nuestra aplicación localmente.
Ahora, cuando intento iniciar la aplicación localmente, aparece el siguiente error:
PG::ConnectionBad at /
could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
Intenté reiniciar mis computadoras varias veces.
También verifiqué el contenido de /usr/local/var/postgres
:
PG_VERSION pg_dynshmem pg_multixact pg_snapshots pg_tblspc postgresql.conf
base pg_hba.conf pg_notify pg_stat pg_twophase postmaster.opts
global pg_ident.conf pg_replslot pg_stat_tmp pg_xlog server.log
pg_clog pg_logical pg_serial pg_subtrans postgresql.auto.conf
Como puede ver, no hay un archivo postmaster.pid
allí.
¿Alguna idea de cómo podría arreglar esto?
A menudo encuentro este problema en Windows, la forma en que resolví el problema es Servicio: haga clic en PostgreSQL Database Server 8.3: haga clic en la segunda pestaña "iniciar sesión": elija la primera línea "la cuenta del sistema local".
Esto funcionó en mi caso:
brew uninstall postgresql
rm -fr /usr/local/var/postgres/
brew install postgresql
Esto funcionó para mí: corre
sudo lsof -i :<port_number>
después de eso, mostrará el PID que actualmente está adjunto al proceso.
Después de que ejecute sudo kill -9 <PID>
Si eso no funciona, pruebe la solución ofrecida por el usuario 8376606 ¡definitivamente funcionaría!
Esto puede ser porque el archivo PID creado para Postgress no se ha eliminado debido a un cierre inesperado. Así que para solucionar este problema, elimine este archivo pid.
Encuentra el directorio de datos postgres. En un MAC que utiliza homebrew es
/usr/local/var/postgres/
, otros sistemas puede ser/usr/var/postgres/
Eliminar archivo pid
rm postmaster.pid
Reinicie postgress. En mac
servicios de elaboración de cerveza reiniciar postgresql
Lo más probable es que se haya agotado la batería y su servidor postgresql no se haya cerrado correctamente.
La solución más sencilla es descargar la aplicación oficial de postgresql e iniciarla: forzará el inicio del servidor ( http://postgresapp.com/ )
Lo más probable es que su sistema se apague inesperadamente
Tratar
postgres -D /usr/local/var/postgres
Es posible que vea
FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 449) running in data directory "/usr/local/var/postgres"?
Entonces intenta
kill -9 PID
ejemplo
kill -9 419
Y debería empezar postgres normalmente.
Puede ser tan simple como el servicio postgresql está fuera de servicio. Intenta correr:
sudo service postgresql start
lo que solucionó el problema para mí.
Resolví el problema a través de este comando.
pg_ctl -D /usr/local/var/postgres start
A veces, puede obtener este error
pg_ctl: another server might be running; trying to start server anyway
Entonces, intente ejecutar el siguiente comando y luego ejecute el primer comando dado arriba.
pg_ctl -D /usr/local/var/postgres stop
Si desea reiniciar Postgresql en Linux, entonces tiene que usar el siguiente comando.
/etc/init.d/postgresql restart
ejecute postgres -D /usr/local/var/postgres
y debería ver algo como:
FATAL: lock file "postmaster.pid" already exists HINT: Is another postmaster (PID 379) running in data directory "/usr/local/var/postgres"?
Luego ejecute kill -9 PID
en SUGERENCIA
Y deberías ser bueno para irte.