- Software y sistemas
- Base de datos
08000
PostgreSQL 08000 en base de datos: excepción genérica de 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
La conexión entre la aplicación y PostgreSQL ha fallado sin un código más concreto de la clase 08. Comprueba si el servidor acepta conexiones y no repitas una escritura sin saber si llegó a confirmarse.
Seguridad primero
Antes de continuar
- Repetir a ciegas una escritura tras un error de conexión puede duplicarla. Detente y comprueba primero si se confirmó.
Puedes hacerlo con seguridad
- Aviso al soporte con hora exacta
- Disponibilidad del servidor con pg_isready
- Estado de la conexión en el cliente
Deja estas tareas a un profesional cualificado
- No intentes esta tarea profesional: Cruce con el registro del servidor y la red
- No intentes esta tarea profesional: Revisión de parámetros de conexión
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.
Cruce con el registro del servidor y la red
Qué haceEl DBA compara la hora del error con el registro del servidor y con eventos de red.
Te tiene que enseñarlas entradas del registro a esa hora.
Por escritola causa encontrada y quién la verificó.
Revisión de parámetros de conexión
Qué haceEl desarrollador revisa connect_timeout, keepalives, keepalives_idle y tcp_user_timeout en la cadena de conexión.
Te tiene que enseñarlos valores antes y después.
Por escritoel cambio y la prueba que ya no reproduce el fallo.
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.
Aviso al soporte con hora exacta
- Quién:
- tú, quien usa la aplicación.
- Cómo:
- anota hora, pantalla y mensaje y avisa al soporte; no reenvíes formularios de pago o pedido.
- Resultado que importa:
- que el soporte pueda cruzar la hora con los registros.
- Si varias personas lo ven a la vez:
- indica un problema del servidor o de la red, no de tu equipo.
- Si solo te pasa a ti:
- apunta a tu conexión o a tu sesión; el desarrollador lo confirmará.
- Evidencia a conservar:
- captura del mensaje con la hora.
Evidencia: PostgreSQL 18 Appendix A: Error Codes
Disponibilidad del servidor con pg_isready
- Quién:
- tú, como desarrollador o DBA.
- Cómo:
- ejecuta pg_isready con el mismo host y puerto que usa la aplicación (-h, -p, -t).
- Resultado que importa:
- el código de salida: 0 acepta, 1 rechaza, 2 sin respuesta, 3 sin intento.
- Si sale 1 o 2:
- confirma que el servidor no acepta conexiones o no responde; pasa al DBA.
- Si sale 0:
- descarta el servidor caído y revisa el cliente y la red.
- Evidencia a conservar:
- salida de pg_isready con hora.
pg_isready solo comprueba; no reinicies el servidor ni cambies su configuración, eso es tarea del DBA.
Evidencia: PostgreSQL 18 pg_isready
Estado de la conexión en el cliente
- Quién:
- tú, como desarrollador.
- Cómo:
- en libpq consulta PQstatus, PQerrorMessage y PQtransactionStatus tras el error; en otros drivers, su equivalente.
- Resultado que importa:
- si la conexión quedó en CONNECTION_BAD y si había una transacción abierta.
- Si queda en CONNECTION_BAD:
- confirma la pérdida; descarta el objeto o usa PQreset.
- Si PQtransactionStatus da PQTRANS_UNKNOWN con una escritura en curso:
- no la repitas sin comprobar si se confirmó.
- Evidencia a conservar:
- mensaje de PQerrorMessage y estado devuelto.
Evidencia: PostgreSQL database connection control functions · PostgreSQL 18 libpq connection status functions
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 08000 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
- connection_exception
- PostgreSQL 08000
- SQLSTATE 08000
Qué significa
El apéndice A asigna 08000 a connection_exception, el código general de la clase 08 Connection Exception. La clase incluye condiciones más concretas como 08001, 08003 y 08006; cuando llega 08000, el cliente o el servidor solo sabe que hubo un problema de conexión. PostgreSQL recomienda tratar el error por su clase si no se reconoce el código concreto. En libpq, una conexión que falla pasa a CONNECTION_BAD y PQreset la cierra y reabre con los mismos parámetros. El código no dice si falló la red, el servidor o la configuración del cliente.
Advertencias y condiciones de parada
- Precauciónadvertencia editorial
Repetir a ciegas una escritura tras un error de conexión puede duplicarla. Detente y comprueba primero si se confirmó.
Evidencia: PostgreSQL 18 libpq connection status functions
Síntomas y causas
Causas probables · en orden
- Servidor no disponible o rechazando conexionesPosible
pg_isready lo distingue: responde que rechaza conexiones, por ejemplo durante el arranque, o que no hay respuesta.
Evidencia: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL 18 pg_isready
- Comunicación cortada con una conexión abiertaPosible
La conexión estaba bien y pasó a CONNECTION_BAD por un fallo de comunicación. Coincide con cortes de red a la misma hora.
Evidencia: PostgreSQL database connection control functions · PostgreSQL 18 libpq connection status functions
- Parámetros de conexión incorrectosPosible
pg_isready devuelve que no hizo el intento por parámetros inválidos; host, puerto o tiempo de espera no son los esperados.
Evidencia: PostgreSQL database connection control functions · PostgreSQL 18 pg_isready
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?