- Software y sistemas
- Base de datos
28P01
PostgreSQL 28P01 en base de datos: contraseña rechazada al conectar
Evidencia vinculada a esta decisión
Ver fuente: PostgreSQL 18 Appendix A: Error CodesNivel 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.
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.
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.
Destino exacto de la conexión
- 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
De dónde sale la contraseña efectiva
- 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
Registro del servidor y pg_hba.conf
- 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
PostgreSQL 18 Appendix A: Error Codes
PostgreSQL Global Development Group · 2026 · official_doc
- 2
PostgreSQL client authentication
PostgreSQL Global Development Group · 2026 · official_doc
¿Te ha resultado útil esta ficha?