En este artículo voy a demostrar cómo modificar la contraseña de un usuario de PostgreSQL desde el cliente psql.



Supongamos que se necesita cambiar la contraseña del usuario "usr_grafana".

A fin de restablecer una contraseña de usuario en PostgreSQL es posible correr una sentencia ALTER:

ALTER USER usr_grafana PASSWORD '1234';

Sin embargo, es deseable que la contraseña no quede "escrachada" en el historial de comandos de psql (generalmente en el archivo ~/.psql_history). Por supuesto es posible especificar directamente el hash MD5 de la contraseña como parámetro, pero esto es un paso más que hace engorrosa la tarea. Sin contar con que en algún lugar quedará escrachada la generación del MD5 (por ejemplo en el historial de Bash: echo 1234 | md5sum).

Más aún, el servidor Postgres podría estar configurado para registrar todas las consultas SQL ejecutadas (log_statement = all), con lo cual la contraseña podría quedar registrada en un log en formato de texto plano.

Por lo tanto, lo más conveniente es recurrir al subcomando \password del cliente psql. Simplemente se debe pasar el nombre de usuario como parámetro:

\password usr_grafana

De esta forma, la contraseña se ingresa de forma interactiva y no queda almacenada en logs ni historial de comandos.

Referencias


Tal vez pueda interesarte


Compartí este artículo