-
trouver le fichier
pg_hba.conf
- il peut se trouver, par exemple, dans/etc/postgresql-9.1/pg_hba.conf
.cd /etc/postgresql-9.1/
-
Sauvegardez-le
cp pg_hba.conf pg_hba.conf-backup
-
placez la ligne suivante (soit comme première ligne non commentée, soit comme seule) :
Pour toutes les occurrences ci-dessous (locales et hôtes), sauf la section de réplication si vous n'en avez pas, elle doit être modifiée comme suit, aucune authentification MD5 ou Peer ne doit être présente.
local all all trust
-
redémarrez votre serveur PostgreSQL (par exemple, sous Linux :)
sudo /etc/init.d/postgresql restart
Si le service (démon) ne commence pas à générer des rapports dans le fichier journal :
les connexions locales ne sont pas prises en charge par cette version
vous devriez changer
local all all trust
à
host all all 127.0.0.1/32 trust
-
vous pouvez maintenant vous connecter comme n'importe quel utilisateur. Connectez-vous en tant que superutilisateur
postgres
(Remarque, le nom du superutilisateur peut être différent dans votre installation. Dans certains systèmes, il s'appellepgsql
, par exemple. )psql -U postgres
ou
psql -h 127.0.0.1 -U postgres
(notez qu'avec la première commande, vous ne serez pas toujours connecté à l'hôte local)
-
Réinitialiser le mot de passe ('remplacez my_user_name par postgres puisque vous réinitialisez postgres utilisateur)
ALTER USER my_user_name with password 'my_secure_password';
-
Restaurer l'ancien
pg_hba.conf
car c'est très dangereux à garder autourcp pg_hba.conf-backup pg_hba.conf
-
redémarrer le serveur, afin de s'exécuter avec le safe
pg_hba.conf
sudo /etc/init.d/postgresql restart
Autres lectures à propos de ce fichier pg_hba :http://www.postgresql.org/docs/9.1/static/auth-pg-hba-conf.html