Brug operativsystembrugeren postgres
at oprette din database - så længe du ikke har oprettet en database rolle med de nødvendige rettigheder, der svarer til din operativsystembruger af samme navn (h9uest
i dit tilfælde):
sudo -u postgres -i
Som anbefalet her eller her.
Prøv derefter igen. Skriv exit
når du er færdig med at fungere som systembruger postgres
.
Eller udfør den enkelte kommando createuser
som postgres
med sudo
, som demonstreret af drees i et andet svar.
Pointen er at bruge den operativsystembruger, der matcher databaserollen af samme navn, for at få adgang via ident
godkendelse . postgres
er standardbruger af operativsystemet til at have initialiseret databaseklyngen. Manualen:
For at bootstrap databasesystemet, indeholder et frisk initialiseret system altid én foruddefineret rolle. Denne rolle er altid en "superbruger", og som standard (medmindre den ændres, når du kører initdb
) den vil have samme navn som den operativsystembruger, der initialiserede databaseklyngen. Normalt vil denne rolle blive navngivet postgres
.For at oprette flere roller skal du først oprette forbindelse som denne første rolle.
Jeg har hørt om mærkelige opsætninger med ikke-standard brugernavne, eller hvor brugeren af operativsystemet ikke eksisterer. Du bliver nødt til at tilpasse din strategi der.
Læs om databaseroller og klientgodkendelse i manualen.