Problèmes de connexion à postgresql après changement de mot de passe

Je viens de passer 4h de temps à comprendre pourquoi après avoir changé le mot de passe d'un utilisateur de mon serveur Postgresql, je n'arrive plus à me connecter avec cet utilisateur.

Je décris donc ici comment résoudre ce problème au cas il survient de nouveau pour moi ou l'un des visiteurs de ce site.

====== Voici la procédure ============

1- d'abord un rappel sur comment modifier le mot de passe d'un utilisateur postgresql en ligne de commande:


a) devenir l'utilisateur sytème “postgres” en utilisant la ligne de commande ex:

$: sudo su postgres



b) se connecter au serveur posgresql local en tapant la commande

 $: psql 



c) Taper à l'invite de commande la meta commande de psql suivante: “\password”. Il vous sera demander d'entrer le mot de passe et de le confirmer.


postgres=# \password
Enter new password:
Enter it again:
postgres=#


2- le problème!!!


Dans mon cas il s'avère que pour je ne sais quelle raison en modifiant le mot de passe de l'utilisateur postgres, la date de validité du mot de passe à été mise à jour à une date passée!!! donc plus moyen de se connecter avec un mot de passe expiré. Alors que faire pour vérifier la date de validité du mot de passe et comment la corriger?



a) Pour voir la validité du mot de passe on taper la commande suivante à l'invite:

$: sudo -u postgres psql -x -c "select * from pg_user where usename='postgres'"



b) Pour enlever une éventuelle limite on tape la commande suivante:

$: sudo -u postgres psql -x -c "ALTER USER postgres VALID UNTIL 'infinity'"


Et voila le travail! on peut enfin continuer le boulot! :-D