sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL-fejl:Fatal:rollebrugernavn findes ikke

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.



  1. Grunde til at forvandle Access Apps til webbaserede apps

  2. Sådan overvåger du flere MySQL-forekomster, der kører på samme maskine - ClusterControl-tip og -tricks

  3. Sådan omdøbes et kolonnenavn eller tabelnavn i SQL Server - SQL Server / T-SQL selvstudie del 36

  4. Find duplikerede poster i MySQL