Recuperar contraseña de usuario "postgres" en PostgreSQL

  Como ya se ha visto en otra entradaPostgreSQL es un gestor de bases de datos de tipo relacional gratuito.
  Cuando se termina de instalar, este gestor de bases de datos posee un usuario estándar por defecto con permisos de administrador llamado "postgres".
  Sin embargo, hay que distinguir entre el usuario de sistema y el usuario del gestor de bases de datos, puesto que cada uno de ellos, a pesar de llamarse del mismo modo, poseen características diferentes, entre las que se encuentra su contraseña, lo que puede llevar al usuario a cometer equivocaciones.
  Un usuario de PostgreSQL puede despistarse por cualquier circunstancia y acabar perdiendo la contraseña, lo que suele ser un problema grave.
  En la presente entrada se explicará el modo de crear una nueva contraseña (que puede ser igual a la que ya se tenía previamente) para el usuario genérico de administración del gestor de bases de datos "postgres".

  El método siguiente para recuperar una contraseña no debe emplearse en sistemas que estén en producción, puesto que crea momentáneamente una brecha de seguridad en el gestor de bases de datos.
  En primer lugar, desde una consola o símbolo de sistema (según se utilice un sistema operativo tipo linux o windows), se accede al archivo de PostgreSQL "pg_hba.conf" (en un sistema operativo linux de tipo debian la ruta predeterminada es "/etc/postgresql/<versión postresql>/main"; si el sistema operativo linux es de tipo fedora, su ruta es "/var/lib/pgsql/<versión postgresql>/data/"; si el programa está instalado en un sistema operativo tipo windows, su ruta será "C:\Program Files\PostgreSQL\<versión postgresql>\data"). Localizado dicho archivo, se edita con permisos de administrador (en Windows también puede editarse desde su entorno gráfico), y se cambia "peer" por "trust" en línea "local   all    all" (o similar) bajo la línea "# "local" is for Unix domain socket connections only" (o parecida).
  A continuación, se reinicia el servicio. Si se está en un sistema operativo de Linux, se empleará el comando systemctl restart postgresql (o el más apropiado según  la distribución); si se utiliza un sistema operativo de Microsoft, se puede ir a la pantalla del "Administrador de tareas" pulsando sobre el "Botón de inicio" con el botón derecho del ratón y, en el menú emergente, pulsando en la opción "Administrador de tareas".
  En la ventana que aparecerá, se debe buscar la pestaña "Servicios" y, en esta, el servicio Postgresql. Seguidamente, se pulsa sobre el servicio con el botón derecho del ratón y, en el menú contextual, en la opción "Reiniciar".
 A continuación, se deben escribir unas líneas de comandos en el terminal (Linux) o en el símbolo del sistema (Windows). Dichas líneas varían dependiendo del sistema operativo, pero coinciden en que deben ir escribiéndose y ejecutándose de una en una para evitar problemas.
  En los sistemas operativos de Linux se debe escribir:
  1. su postgres (o su - postgres)
  2. psql -h localhost -c “alter user postgres with password ‘<contraseña elegida por usuario>’";
  3. exit

  Mientras que en los sistemas operativos de Windows, las líneas de comandos son:
  1. psql -h localhost -w
  2. alter user postgres with password ‘<contraseña elegida por el usuario>';
  3. \q
  Tras los cambios efectuados con estos comandos, sólo hay que editar nuevamente el archivo "pg_hba.conf" y devolverlo a su estado anterior. A continuación, se reinicia PostreSQL.
  Puede comprobarse el resultado intentando acceder a PostreSQL con el usuario que se acaba de cambiar. Si no hay errores, todo funciona como debe funcionar.


  Aguardo que la presente entrada haya gustado al lector. Si ese es el caso, espero que la comente y/o la comparta, por favor.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.