Använd operativsystemanvändaren postgres
att skapa din databas - så länge du inte har skapat en databas roll med nödvändiga privilegier som motsvarar din operativsystemanvändare med samma namn (h9uest
i ditt fall):
sudo -u postgres -i
Som rekommenderas här eller här.
Försök sedan igen. Skriv exit
när du är klar med att fungera som systemanvändare postgres
.
Eller kör det enda kommandot createuser
som postgres
med sudo
, som demonstreras av drees i ett annat svar.
Poängen är att använda operativsystemanvändaren som matchar databasrollen med samma namn för att få åtkomst via ident
autentisering . postgres
är standardoperativsystemanvändaren som har initierat databasklustret. Manualen:
För att starta upp databassystemet innehåller ett nyligen initierat system alltid en fördefinierad roll. Den här rollen är alltid en "superanvändare" och som standard (om den inte ändras när du kör
initdb
) den kommer att ha samma namn som operativsystemanvändaren som initierade databasklustret. Vanligtvis kommer denna roll att hetapostgres
.För att skapa fler roller måste du först ansluta som denna första roll.
Jag har hört talas om udda inställningar med icke-standardiserade användarnamn eller där operativsystemanvändaren inte finns. Du måste anpassa din strategi där.
Läs om databasroller och klientautentisering i manualen.