sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-fout:Fatal:gebruikersnaam van de rol bestaat niet

Gebruik de gebruiker van het besturingssysteem postgres om uw database aan te maken - zolang u geen database heeft opgezet rol met de nodige privileges die overeenkomen met uw besturingssysteemgebruiker met dezelfde naam (h9uest in jouw geval):

sudo -u postgres -i

Zoals hier of hier aanbevolen.

Probeer het dan opnieuw. Typ exit wanneer klaar met werken als systeemgebruiker postgres .

Of voer het enkele commando uit createuser als postgres met sudo , zoals aangetoond door drees in een ander antwoord.

Het punt is om de gebruiker van het besturingssysteem te gebruiken die overeenkomt met de databaserol met dezelfde naam om toegang te krijgen via ident authenticatie . postgres is de standaardgebruiker van het besturingssysteem die het databasecluster heeft geïnitialiseerd. De handleiding:

Om het databasesysteem te bootstrappen, bevat een vers geïnitialiseerd systeem altijd één vooraf gedefinieerde rol. Deze rol is altijd een "superuser" en standaard (tenzij gewijzigd bij het uitvoeren van initdb ) zal het dezelfde naam hebben als de gebruiker van het besturingssysteem die het databasecluster heeft geïnitialiseerd. Gewoonlijk heet deze rol postgres .Om meer rollen aan te maken, moet je eerst verbinding maken als deze eerste rol.

Ik heb gehoord van vreemde opstellingen met niet-standaard gebruikersnamen of waar de gebruiker van het besturingssysteem niet bestaat. Daar moet je je strategie aanpassen.

Lees over databaserollen en clientauthenticatie in de handleiding.



  1. Hoe een opgeslagen procedure in MySQL te maken

  2. Verschillende manieren om de SQL CONVERT-datumfunctie te gebruiken

  3. Oracle-schemagebruiker kan geen tabel maken in procedure

  4. Hoe PL/SQL SYS_REFCURSOR in Oracle Database aan te maken?