sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL-fel:Fatalt:rollen användarnamn finns inte

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 heta postgres .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.



  1. Kontrollera om kolumnsträngen i databasen är en delsträng till en fråga i sqlite

  2. Analysera röravgränsad sträng i kolumner?

  3. Python Anslut till MySQL-databas med MySQL Connector &PyMySQL-exempel

  4. Vad är storleken på kolumnen av int(11) i mysql i byte?