Antes que nada, tenga en cuenta que he encontrado varias preguntas similares en Stack Overflow y artículos en toda la web, pero ninguna de ellas me ayudó a solucionar mi problema:
- PG Error no pudo conectarse al servidor: Conexión rechazada ¿El servidor se está ejecutando 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 de maravilla.
- Con mi colaborador, usamos GitHub para trabajar juntos.
- Tenemos una
master
y unamvp
sucursales. - Recientemente actualicé mi
git
versión 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 ningún postmaster.pid
archivo allí.
¿Alguna idea de cómo podría solucionar esto?
ruby-on-rails
ruby
postgresql
ruby-on-rails-3
ruby-on-rails-4
Thibaud Clement
fuente
fuente
postgresql.conf
?Respuestas:
Lo más probable es que se haya quedado sin batería y su servidor postgresql no se apagó correctamente.
La solución alternativa más sencilla es descargar la aplicación postgresql oficial y ejecutarla: forzará el inicio del servidor ( http://postgresapp.com/ )
fuente
git fetch
, tal vez este sea el problema.ejecutar
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 ejecuta
kill -9 PID
HINTY deberías estar listo para empezar.
fuente
brew services start postgres
obrew services restart postgres
podría hacer el trucoLo más probable es que su sistema se apague inesperadamente
Tratar
postgres -D /usr/local/var/postgres
Es posible que vea
Entonces intenta
kill -9 PID
ejemplo
kill -9 419
Y debería comenzar postgres normalmente
fuente
El servidor postgresql podría estar inactivo y la solución podría ser tan simple como ejecutar:
sudo service postgresql start
que solucionó el problema para mí.
fuente
Tuve casi el mismo error con mi aplicación Ruby on Rails ejecutando postgresql (mac). Esto funcionó para mí:
fuente
Esto funcionó en mi caso:
brew uninstall postgresql rm -fr /usr/local/var/postgres/ brew install postgresql
fuente
Esto podría deberse al archivo pid creado para postgres que no se ha eliminado debido a un cierre inesperado. Para solucionar este problema, elimine este archivo pid.
Busque el directorio de datos de postgres. En un MAC que usa homebrew
/usr/local/var/postgres/
, en otros sistemas podría ser/usr/var/postgres/
Elimine el archivo pid ejecutando:
rm postmaster.pid
Reinicie el postgress. En Mac, ejecute:
fuente
Resolví el problema a través de este comando
pg_ctl -D /usr/local/var/postgres start
A veces, puede recibir 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 anteriormente.
pg_ctl -D /usr/local/var/postgres stop
fuente
Si desea reiniciar Postgresql en Linux, debe usar el siguiente comando.
/etc/init.d/postgresql restart
fuente
Esto funcionó para mí: ejecutar
sudo lsof -i :<port_number>
después de eso, mostrará el PID que está actualmente adjunto al proceso.
Después de esa carrera
sudo kill -9 <PID>
Si eso no funciona, pruebe la solución ofrecida por user8376606, ¡definitivamente funcionaría!
fuente
Primero lo intenté
Segundo lo intenté
Así que reinicié mi mac para restaurar todos los puertos y funcionó para mí.
fuente
Para usuarios de Docker : en mi caso, fue causado por un tamaño de imagen de Docker excesivo. Puede eliminar los datos no utilizados usando el
prune
comando:docker system prune --all --force --volumes
Advertencia: según el manual (
docker system prune --help
):fuente
En mi caso
Ejecutar => service.msc => Reiniciar
fuente
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".
fuente
También da el mismo error si simplemente detiene su aplicación PostgreSQL. Solo tienes que empezar de nuevo. (PostgreSQL 11)
fuente
Me enfrenté al mismo problema y no pude iniciar el servidor postgresql y no pude acceder a mi base de datos incluso después de dar la contraseña, y he estado haciendo todas las formas posibles.
Esta solución funcionó para mí,
Para los usuarios de Ubuntu: A través de la línea de comandos, escriba los siguientes comandos:
1.service --status-all (que proporciona una lista de todos los servicios y su estado. Donde "+" se refiere a que se está ejecutando y "-" se refiere a que el servicio ya no se está ejecutando)
compruebe el estado de postgresql, si es "-", escriba el siguiente comando
2.systemctl start postgresql (inicia el servidor de nuevo)
actualice la página de postgresql en el navegador, y funciona
Para los usuarios de Windows:
Busque servicios, donde podemos ver la lista de servicios y haga clic con el botón derecho en postgresql, haga clic en iniciar y el servidor funciona perfectamente bien.
fuente
Paso 1:
cd /etc/postgresql/12/main/
abrir archivo llamado
postgresql.conf
sudo nano postgresql.conf
agrega esta línea a ese archivo
listen_addresses = '*'
luego abra el archivo llamado
pg_hba.conf
sudo nano pg_hba.conf
y agregue esta línea a ese archivo
host all all 0.0.0.0/0 md5
Permite el acceso a todas las bases de datos para todos los usuarios con una contraseña cifrada.
reinicia tu servidor
sudo /etc/init.d/postgresql restart
fuente
Encontré un problema similar cuando intentaba conectar mi aplicación Django a la base de datos PostgreSQL .
Escribí mi
Dockerfile
con instrucciones para configurar el proyecto Django seguido de instrucciones para instalar PostgreSQL y ejecutar el servidor Django en midocker-compose.yml
.Definí dos servicios en mi
docker-compose-yml
.services: postgres: image: "postgres:latest" environment: - POSTGRES_DB=abc - POSTGRES_USER=abc - POSTGRES_PASSWORD=abc volumes: - pg_data:/var/lib/postgresql/data/ django: build: . command: python /code/manage.py runserver 0.0.0.0:8004 volumes: - .:/app ports: - 8004:8004 depends_on: - postgres
Desafortunadamente cada vez que solía correr
docker-compose up
mismo error. solía aparecer.Y así es como se definió mi base de datos en Django
settings.py
.DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'abc', 'USER': 'abc', 'PASSWORD': 'abc', 'HOST': '127.0.0.1', 'PORT': '5432', 'OPTIONS': { 'client_encoding': 'UTF8', }, } }
Entonces, al final hice uso de la
docker-compose
red, lo que significa que si cambio elhost
de mi base de datos a lopostgres
que se define como un serviciodocker-compose.yml
, haré las maravillas.Entonces, Reemplazar
'HOST': '127.0.0.1'
=>'HOST': 'postgres'
hizo maravillas por mí.Después del reemplazo, así es como
settings.py
se verá la configuración de su base de datos .DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'abc', 'USER': 'abc', 'PASSWORD': 'abc', 'HOST': 'postgres', 'PORT': '5432', 'OPTIONS': { 'client_encoding': 'UTF8', }, } }
fuente
En mi caso, olvidé cambiar la base de datos de postgres (en mi producción) a sqlite3 que estaba usando para el desarrollo.
fuente