PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

'l'authentification par mot de passe a échoué pour l'utilisateur postgres'

Si je me souviens bien de l'utilisateur postgres n'a pas de DB mot de passe défini sur Ubuntu par défaut. Cela signifie que vous ne pouvez vous connecter à ce compte qu'en utilisant le postgres Utilisateur du système d'exploitation compte.

En supposant que vous ayez root accès sur la box vous pouvez faire :

sudo -u postgres psql

Si cela échoue avec une database "postgres" does not exists erreur, alors vous n'êtes probablement pas sur un serveur Ubuntu ou Debian :-) Dans ce cas, ajoutez simplement template1 à la commande :

sudo -u postgres psql template1

Si l'une de ces commandes échoue avec une erreur psql: FATAL: password authentication failed for user "postgres" puis vérifiez le fichier /etc/postgresql/8.4/main/pg_hba.conf  :Il doit y avoir une ligne comme celle-ci comme première ligne sans commentaire :

local   all         postgres                          ident

Pour les nouvelles versions de PostgreSQL ident pourrait en fait être peer . C'est OK aussi.

Dans le psql shell que vous pouvez donner à l'utilisateur DB postgres un mot de passe :

ALTER USER postgres PASSWORD 'newPassword';

Vous pouvez laisser le psql shell en tapant Ctrl D ou avec la commande \q .

Vous devriez maintenant pouvoir donner à pgAdmin un mot de passe valide pour le superutilisateur de la base de données et il sera également heureux. :-)