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

28P01

PostgreSQL 28P01 en base de datos: contraseña rechazada al conectar

Verificada con fuentes2 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

Atención alta

Comprobaciones mínimas; se recomienda asistencia profesional.

Urgencia

Media — atiéndelo hoy

Respuesta rápida

El servidor recibió la conexión pero rechazó la contraseña para ese usuario. Comprueba que usuario, servidor y base son los correctos y qué contraseña está usando realmente la aplicación; el registro del servidor puede dar más detalle.

Seguridad primero

Antes de continuar

  • No pruebes contraseñas en bucle: cada intento queda registrado en el servidor. Si sospechas que la contraseña se ha expuesto, detente y avisa al responsable de seguridad para rotarla.

Puedes hacerlo con seguridad

  • Destino exacto de la conexión
  • De dónde sale la contraseña efectiva
  • Registro del servidor y pg_hba.conf

Deja estas tareas a un profesional cualificado

  • No intentes esta tarea profesional: Restablecer o rotar la contraseña del rol
  • No intentes esta tarea profesional: Revisar el método de autenticació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. Restablecer o rotar la contraseña del rol

    Qué haceEl DBA define una nueva contraseña con ALTER ROLE o \password y la distribuye por el gestor de secretos del equipo.

    Te tiene que enseñarque la conexión funciona con la nueva credencial.

    Por escritofecha del cambio y sistemas actualizados, nunca la contraseña.

  2. Revisar el método de autenticación

    Qué haceEl DBA comprueba si el método es scram-sha-256 o md5 y planifica el paso a SCRAM, ya que md5 está obsoleto.

    Te tiene que enseñarla línea de pg_hba.conf.

    Por escritoel plan de migración.

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. Destino exacto de la conexión

    Sin herramientas especiales

    Quién:
    tú, como desarrollador.
    Cómo:
    revisa host, puerto, base y usuario que usa la aplicación en el entorno que falla, sin mostrar la contraseña.
    Resultado que importa:
    si coinciden con el servidor y el usuario previstos.
    Si apuntan a otro servidor o entorno:
    confirma un error de configuración; la contraseña puede ser válida en el sitio correcto.
    Si coinciden:
    descarta el destino y pasa a la fuente de la contraseña.
    Evidencia a conservar:
    parámetros de conexión sin contraseña y hora del fallo.

    Evidencia: PostgreSQL 18 authentication problems · PostgreSQL 18 the pg_hba.conf file

  2. De dónde sale la contraseña efectiva

    Requiere herramientas

    Quién:
    tú, como desarrollador.
    Cómo:
    comprueba si la aplicación pasa la contraseña directamente o la lee de .pgpass (pgpass.conf en Windows) o de PGPASSFILE.
    Resultado que importa:
    qué línea del archivo coincide primero con host, puerto, base y usuario.
    Si coincide una línea antigua o genérica antes que la buena:
    confirma la causa; reordena poniendo las específicas primero.
    Si en Unix el archivo tiene permisos abiertos:
    indica que libpq lo ignora; ajústalos a 0600.
    Evidencia a conservar:
    ruta del archivo y línea afectada, sin la contraseña.

    Nunca pegues contraseñas en tickets, chats ni registros.

    Evidencia: PostgreSQL 18 libpq password file

  3. Registro del servidor y pg_hba.conf

    Requiere herramientas

    Quién:
    el DBA o administrador.
    Cómo:
    busca el intento fallido en el registro del servidor y revisa qué línea de pg_hba.conf se aplica a ese origen, usuario y base; la vista pg_hba_file_rules ayuda a ver errores del archivo.
    Resultado que importa:
    el detalle del rechazo y el método exigido.
    Si el registro indica que el rol no tiene contraseña:
    confirma esa causa; hay que definirla.
    Si la línea aplicada exige otro método del previsto:
    indica que pg_hba.conf no hace lo esperado; recárgalo tras corregirlo.
    Evidencia a conservar:
    extracto del registro y línea aplicada.

    Solo el DBA. Cambiar pg_hba.conf o contraseñas afecta a todos los clientes; no lo hagas sin el procedimiento del equipo.

    Evidencia: PostgreSQL 18 authentication problems · PostgreSQL 18 password authentication · PostgreSQL 18 the pg_hba.conf file

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 28P01 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

  • invalid_password
  • PostgreSQL 28P01
  • SQLSTATE 28P01

Qué significa

El apéndice A asigna 28P01 a invalid_password, en la clase 28 (especificación de autorización no válida). La documentación explica que un mensaje de autenticación por contraseña fallida significa que llegaste al servidor y que este exige el método de pg_hba.conf. Se usa la primera línea de pg_hba.conf que coincide, sin pasar a la siguiente. Si el usuario no tiene contraseña guardada, la autenticación por contraseña siempre falla. El código no dice si la contraseña es incorrecta, si apunta a otro servidor o si falta.

Advertencias y condiciones de parada

  • Atención altaadvertencia editorial

    No pruebes contraseñas en bucle: cada intento queda registrado en el servidor. Si sospechas que la contraseña se ha expuesto, detente y avisa al responsable de seguridad para rotarla.

    Evidencia: PostgreSQL 18 authentication problems

Síntomas y causas

Causas probables · en orden

  • Contraseña distinta de la guardada en el servidorFrecuente

    La aplicación usa una contraseña antigua o de otro entorno. Ocurre tras un cambio de contraseña o un despliegue con configuración equivocada.

    Evidencia: PostgreSQL 18 authentication problems

  • Contraseña tomada de otro sitioPosible

    libpq puede leer la contraseña de .pgpass o pgpass.conf: usa la primera línea que coincide y en Unix ignora el archivo si sus permisos son demasiado abiertos. Se distingue porque el valor efectivo no es el que crees.

    Evidencia: PostgreSQL 18 libpq password file

  • Usuario sin contraseña definidaPosible

    Si el rol no tiene contraseña guardada, la autenticación por contraseña falla siempre, aunque escribas la correcta.

    Evidencia: PostgreSQL 18 password authentication

Fuentes y referencias técnicas

  1. 1

    PostgreSQL 18 Appendix A: Error Codes

    PostgreSQL Global Development Group · 2026 · official_doc

  2. 2

    PostgreSQL client authentication

    PostgreSQL Global Development Group · 2026 · official_doc

Fuentes: PostgreSQL 18 Appendix A: Error Codes · PostgreSQL client authenticationrevisado 2026-10-03 · verificado

¿Te ha resultado útil esta ficha?