- Software y sistemas
- Base de datos
08004
PostgreSQL 08004 en base de datos: el servidor rechazó establecer la conexión
Evidencia vinculada a esta decisión
Ver fuente: PostgreSQL 18 Appendix A: Error CodesNivel de riesgo
Precaución
Actúa con cuidado; puede requerir técnico si persiste.
Urgencia
Media — atiéndelo hoy
Respuesta rápida
El servidor recibió la petición de conexión y la rechazó. Comprueba con pg_isready si está arrancando, parándose o recuperándose, y anota el mensaje completo; un reintento inmediato no cambia un rechazo deliberado.
Seguridad primero
Antes de continuar
- No sigas reintentando en bucle desde muchas instancias a la vez: si el rechazo es por capacidad, más intentos lo empeoran.
Puedes hacerlo con seguridad
- Estado del servidor
- Mensaje completo y registro del servidor
Deja estas tareas a un profesional cualificado
- No intentes esta tarea profesional: Revisar reservas y límite de conexiones
- No intentes esta tarea profesional: Esperar o corregir el estado del servidor
Lo que un técnico debe poder justificar
Viene un técnico a casa
Estos son los pasos que tiene que hacer y enseñarte. Márcalos mientras trabaja: si se salta pasos, no aceptes el cambio de pieza.
No son instrucciones para que abras o manipules el equipo. Son las comprobaciones que deben sostener una conclusión técnica.
Revisar reservas y límite de conexiones
Qué haceEl DBA compara max_connections, superuser_reserved_connections y reserved_connections con las sesiones abiertas.
Te tiene que enseñarlos valores configurados y el recuento de sesiones.
Por escritoel ajuste decidido.
Esperar o corregir el estado del servidor
Qué haceEl DBA revisa por qué el servidor está en arranque, parada o recuperación y cuándo volverá a aceptar conexiones.
Te tiene que enseñarel registro del servidor.
Por escritola causa y la hora de vuelta al servicio.
Antes de aceptar una pieza o reparación
Aún no ha demostrado nada. No aceptes un cambio de pieza solo por el código.
Sigue estos pasos
Aviso: Sigue el orden documentado. Un código identifica el sistema afectado, pero por sí solo no demuestra qué pieza está averiada.
Estado del servidor
- Quién:
- el desarrollador o el DBA.
- Cómo:
- ejecuta pg_isready con el host y puerto de la aplicación.
- Resultado que importa:
- el código de salida.
- Si devuelve 1:
- confirma que el servidor rechaza conexiones por su estado; espera a que termine el arranque o la recuperación.
- Si devuelve 0:
- descarta un estado transitorio; pasa al texto del mensaje y a las ranuras.
- Evidencia a conservar:
- salida con hora.
pg_isready no necesita credenciales válidas. No lances bucles de conexión para medir: agravan la situación.
Evidencia: PostgreSQL database connection control functions · PostgreSQL 18 pg_isready
Mensaje completo y registro del servidor
- Quién:
- el DBA o administrador.
- Cómo:
- conserva el texto completo que recibió el cliente y busca la misma hora en el registro del servidor.
- Resultado que importa:
- qué motivo de rechazo indica.
- Si habla de ranuras o del límite de conexiones:
- apunta a capacidad; revisa las sesiones abiertas.
- Si habla de arranque o recuperación:
- indica un estado del servidor; no es un problema de la aplicación.
- Evidencia a conservar:
- texto del mensaje y extracto del registro.
Solo con acceso al servidor; no compartas el registro con datos personales.
Evidencia: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL connection settings
Situación no resuelta
Si el error persiste, no sigas probando por tu cuenta. Mira qué tiene que hacer y enseñarte el técnico.
Técnico virtual
¿Sigue apareciendo 08004 tras comprobarlo?
Este recorrido usa el código exacto y tus respuestas para elegir una prueba, su resultado esperado y la siguiente bifurcación.
Dónde se aplica este código
Un código solo tiene significado dentro del producto y la versión correctos.
Ámbito principal
- Sistema
- Software y sistemas
- Marca
- PostgreSQL
- Tipo de producto
- Base de datos
Variantes conocidas del código
- PostgreSQL 08004
- sqlserver_rejected_establishment_of_sqlconnection
- SQLSTATE 08004
Qué significa
El apéndice A asigna 08004 a sqlserver_rejected_establishment_of_sqlconnection, en la clase 08. Significa que el rechazo vino del servidor, no de la red. La documentación describe estados en los que el servidor funciona pero no admite conexiones: arranque, parada y recuperación tras caída. También reserva ranuras de conexión para superusuarios y roles concretos cuando quedan pocas libres. El código no dice cuál de estas situaciones se dio; lo aclaran el texto del mensaje y el registro del servidor.
Advertencias y condiciones de parada
- Precauciónadvertencia editorial
No sigas reintentando en bucle desde muchas instancias a la vez: si el rechazo es por capacidad, más intentos lo empeoran.
Evidencia: PostgreSQL connection settings
Síntomas y causas
Causas probables · en orden
- Servidor arrancando, parándose o en recuperaciónPosible
El servidor está activo pero en un estado que no admite conexiones. pg_isready devuelve 1 y PQping devuelve PQPING_REJECT.
Evidencia: PostgreSQL database connection control functions · PostgreSQL 18 pg_isready
- Ranuras de conexión reservadasPosible
Quedan pocas ranuras libres y solo se aceptan superusuarios o roles con pg_use_reserved_connections. Se ve porque el administrador sí conecta y la aplicación no.
Evidencia: PostgreSQL connection settings
Fuentes y referencias técnicas
- 1
PostgreSQL 18 Appendix A: Error Codes
PostgreSQL Global Development Group · 2026 · official_doc
- 2
PostgreSQL error and notice fields
PostgreSQL Global Development Group · 2026 · official_doc
- 3
PostgreSQL database connection control functions
PostgreSQL Global Development Group · 2026 · official_doc
¿Te ha resultado útil esta ficha?