Si je me souviens correctement, l'utilisateur postgres
n'a pas de mot de passe DB défini par défaut sur Ubuntu. Cela signifie que vous ne pouvez vous connecter à ce compte qu'en utilisant le compte postgres
en tant qu'utilisateur OS.
En supposant que vous avez un accès root
sur la machine, vous pouvez faire :
sudo -u postgres psql
Si cela échoue avec une erreur database "postgres" does not exists
, 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"
, alors vérifiez le fichier /etc/postgresql/8.4/main/pg_hba.conf
: Il doit y avoir une ligne comme celle-ci en première ligne non commentée :
local all postgres ident
Pour les versions plus récentes de PostgreSQL, ident
peut effectivement être peer
. C'est aussi correct.
À l'intérieur de l'invite psql
, vous pouvez donner à l'utilisateur DB postgres
un mot de passe :
ALTER USER postgres PASSWORD 'nouveauMotDePasse';
Vous pouvez quitter l'invite psql
en tapant CtrlD ou avec la commande \q
.
Maintenant, vous devriez être en mesure de donner à pgAdmin un mot de passe valide pour le superutilisateur DB et il sera également heureux. :-)
3 votes
Dans mon cas, la connexion échoue car le mot de passe est trop complexe ...
3 votes
Assurez-vous de lire jusqu'au bout de cette page. J'ai dû faire plusieurs choses pour que cela fonctionne. Tout d'abord, l'étape
ALTER
, puis modifier mon fichierpg_hba.conf
, puis redémarrer postgres.0 votes
Possible duplicate de Comment me connecter et m'authentifier à Postgresql après une installation fraîche ?
1 votes
Assurez-vous également de ne pas avoir deux instances de Postgres en cours d'exécution : une sur Windows, une dans Docker. Docker ne m'a pas signalé que le port était déjà utilisé. Ainsi, l'outil s'est connecté à l'instance de Postgres sur la machine Windows, tandis que dans l'instance Docker, tout fonctionnait correctement.