Comment réinitialiser le mot de passe super-utilisateur PostgreSQL

Comment réinitialiser le mot de passe super-utilisateur PostgreSQL

Avec Postgresql, il y a deux options pour retrouver le mot de passe super-utilisateur postgres qu’on a lamentablement paumé.

L’option 1 et l’option 2 🙂

La première option consiste, sous windows, à aller fouiller le fichier pgpass.conf généré lorsqu’on utilise pgAdmin. Il faut « afficher les dossiers et fichiers cachés« , puis se rendre dans Utilisateur > NOMUTILISATEUR > AppData > Roaming > postgresql.

A cet endroit se trouvent 2 fichiers, dont pgpass.conf qui contient les mots de passe de connexion postgreSQL enregistrés en clair ! (sous Linux, tout est stocké dans le fichier pgpass. Un find vous aidera à le trouver)

Comment réinitialiser le mot de passe super-utilisateur PostgreSQL 1

Il n’y a alors plus qu’à se servir et se connecter.

La seconde option nécessite un accès au serveur. Il faut que vous éditiez le fichier pg_hba.conf qui se trouve en principe dans /etc/postgresql/9.3/main.

Dans ce fichier, vous devez changer

local all postgres peer

en

local all postgres trust

Sauvegardez, et relancez postgreSQL.

Vous pouvez dès lors vous connecter avec le compte postgres, puis modifier le mot de passe :

psql postgres postgres

postgres=# alter user postgres with password 'postgres';

Pour finir, vous pouvez retourner sur votre fichier pg_hba.conf et le remettre dans son état initial avant de redémarrer le serveur.

 

Laisser un commentaire