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

Erreur PostgreSQL :fatale :le nom d'utilisateur du rôle n'existe pas

Utiliser l'utilisateur du système d'exploitation postgres pour créer votre base de données - tant que vous n'avez pas configuré de base de données rôle avec les privilèges nécessaires correspondant à l'utilisateur de votre système d'exploitation du même nom (h9uest dans votre cas):

sudo -u postgres -i

Comme recommandé ici ou ici.

Puis réessayez. Tapez exit une fois terminé avec le fonctionnement en tant qu'utilisateur système postgres .

Ou exécuter la seule commande createuser comme postgres avec sudo , comme démontré par drees dans une autre réponse.

Le but est d'utiliser l'utilisateur du système d'exploitation correspondant au rôle de base de données du même nom pour obtenir l'accès via ident authentification . postgres est l'utilisateur du système d'exploitation par défaut qui a initialisé le cluster de bases de données. Le manuel :

Afin de démarrer le système de base de données, un système fraîchement initialisé contient toujours un rôle prédéfini. Ce rôle est toujours un "superutilisateur", et par défaut (sauf modification lors de l'exécution de initdb ) il portera le même nom que l'utilisateur du système d'exploitation qui a initialisé le cluster de bases de données. Habituellement, ce rôle sera nommé postgres .Afin de créer plus de rôles, vous devez d'abord vous connecter en tant que rôle initial.

J'ai entendu parler de configurations étranges avec des noms d'utilisateur non standard ou où l'utilisateur du système d'exploitation n'existe pas. Vous devrez y adapter votre stratégie.

En savoir plus sur les rôles de base de données et l'authentification client dans le manuel.