Referencia técnica independienteSitio oficial
  • Software y sistemas
  • Base de datos

08000

PostgreSQL 08000 en base de datos: excepción genérica de conexión

Verificada con fuentes3 fuentesRevisada 3 oct 2026
¿Viene un técnico? Mira los 2 pasos que debe enseñarte
Trace

Evidencia vinculada a esta decisión

Ver fuente: PostgreSQL 18 Appendix A: Error Codes

Nivel 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.

  1. 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ó.

  2. 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.

  1. Aviso al soporte con hora exacta

    Sin herramientas especiales

    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

  2. Disponibilidad del servidor con pg_isready

    Requiere herramientas

    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

  3. Estado de la conexión en el cliente

    Sin herramientas especiales

    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. 1

    PostgreSQL 18 Appendix A: Error Codes

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL error and notice fields

    PostgreSQL Global Development Group · 2026 · official_doc

  3. 3

    PostgreSQL database connection control functions

    PostgreSQL Global Development Group · 2026 · official_doc

Fuentes: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL error and notice fields · PostgreSQL database connection control functionsrevisado 2026-10-03 · verificado

¿Te ha resultado útil esta ficha?