Esta situación es muy común cuando existe un descuido en el proceso de instalación de PostgreSQL en Windows, existen tres posibles situaciones; sea por que no se presto la atención adecuada en los mensajes expuestos durante dicho proceso de instalación, posiblemente también por la perdida de la contraseña por un motivo indeterminado, o cuando se desea cambiar la contraseña del manejador de base de datos. En cada uno de estos casos existe una solución común que se detalla a continuación:

En dicho proceso de instalación se pregunta al usuario que coloque una contraseña (lo cual no es lo suficientemente robusta) entonces solicita crear una por defecto, y esta es bien difícil de recordar, pero cuando el daño ya esta echo, ¿Qué podemos hacer para salvar PostgreSQL? primero es recomendable conocer un poco sobre las cuentas de PostgreSQL en el sistema y como asignar una nueva contraseña.

Cuando se instala PostgreSQL se crean dos cuentas de usuario, ambas se llaman “postgres” y tienen la misma contraseña, desde un punto inicial; una de ellas le pertenece al Sistema Operativo y la otra es propia del manejador de base de datos como una cuenta de “Super Usuario (root)”. ambas contraseñas se cambian de forma independiente. La que le pertenece al S.O. es la encargada de inicializar y detener el servicio, a pesar que se desinstala PostgreSQL no se elimina,  conociendo estas simples reglas, ya podemos ir mencionamos las diversas formas de cambiarla y sus limitaciones.

Usuario del Sistema Operativo: Este cambio de contraseña solo debemos ejecutar el siguiente comando en el Simbolo del Sistema del S.O. y escribimos los datos que nos solicita:

net user postgres *

Posteriormente al cambio de la contraseña del usuario “postgres”, no podemos olvidar de cambiar la contraseña en la configuración del servicio de Windows, de lo contrario cada vez que se inicie fallara.

SuperUsuario del Manejador de Base de Datos: Si tenemos acceso al manejador de base de datos con algún cliente como PgAdmin o psql, podemos cambiar con una sentencia de SQL, una vez conectados escribimos la siguiente sentencia:

ALTER USER postgres WITH PASSWORD 'MiNuevaClave';

Como se menciono anteriormente, durante el proceso de desinstalación de PostgreSQ, por motivos de seguridad no se eliminan los usuarios, por ende no cambian las contraseñas, y no se elimina los datos en las carpetas de instalación. El siguiente comando permite eliminar el usuario creado para el S.O.:

net user postgres /delete

Hasta mi entender de hoy en día no hay un mecanismo formal para cambiar la contraseña del SuperUsuario, por lo que queda una sola medida y arriesgada, eliminar las carpetas de instalación una vez realizado el respaldo, y si amerita la necesidad, se reinicia el equipo (como de costumbre con Windows) para que los cambios surjan efecto de forma adecuada, y luego se instalar el manejador de base de datos.