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

psql :FATAL :le rôle postgres n'existe pas

REMARQUE :Si vous avez installé postgres à l'aide de homebrew, consultez le commentaire de @ user3402754 ci-dessous.

Notez que le message d'erreur PAS parler d'une base de données manquante, il parle d'un rôle manquant. Plus tard dans le processus de connexion, il peut également tomber sur la base de données manquante.

Mais la première étape consiste à vérifier le rôle manquant :quelle est la sortie dans psql de la commande \du ? Sur mon système Ubuntu, la ligne correspondante ressemble à ceci :

                              List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------
 postgres  | Superuser, Create role, Create DB | {}        

S'il n'y a pas au moins un rôle avec superuser , alors vous avez un problème :-)

S'il y en a un, vous pouvez l'utiliser pour vous connecter. Et en regardant la sortie de votre \l commande :les autorisations pour user sur le template0 et template1 les bases de données sont les mêmes que sur mon système Ubuntu pour le super-utilisateur postgres . Je pense donc que votre configuration simple utilise user en tant que superutilisateur. Vous pouvez donc essayer cette commande pour vous connecter :

sudo -u user psql user

Si user est vraiment le superutilisateur DB, vous pouvez créer un autre superutilisateur DB et une base de données vide et privée pour lui :

CREATE USER postgres SUPERUSER;
CREATE DATABASE postgres WITH OWNER postgres;

Mais puisque votre configuration postgres.app ne semble pas le faire, vous ne devriez pas non plus. Adaptez simplement le tutoriel.