sql >> Database >  >> RDS >> PostgreSQL

psql:FATAL:rol postgres bestaat niet

OPMERKING:als je postgres hebt geïnstalleerd met homebrew, zie dan de opmerking van @user3402754 hieronder.

Merk op dat de foutmelding NIET . doet praten over een ontbrekende database, het heeft het over een ontbrekende rol. Later in het inlogproces kan het ook struikelen over de ontbrekende database.

Maar de eerste stap is om de ontbrekende rol te controleren:Wat is de output binnen psql van het commando \du ? Op mijn Ubuntu-systeem ziet de relevante regel er als volgt uit:

                              List of roles
 Role name |            Attributes             | Member of 
-----------+-----------------------------------+-----------
 postgres  | Superuser, Create role, Create DB | {}        

Als er niet ten minste één rol is met superuser , dan heb je een probleem :-)

Als die er is, kun je die gebruiken om in te loggen. En kijkend naar de uitvoer van uw \l commando:De rechten voor user op de template0 en template1 databases zijn hetzelfde als op mijn Ubuntu-systeem voor de supergebruiker postgres . Dus ik denk dat je setup eenvoudig gebruik maakt van user als supergebruiker. U kunt dus dit commando proberen om in te loggen:

sudo -u user psql user

Als user echt de DB-supergebruiker is, kunt u een andere DB-supergebruiker en een privé, lege database voor hem maken:

CREATE USER postgres SUPERUSER;
CREATE DATABASE postgres WITH OWNER postgres;

Maar aangezien uw postgres.app-configuratie dit niet lijkt te doen, zou u dat ook niet moeten doen. Pas de tutorial eenvoudig aan.



  1. MySQL OP DUPLICATE KEY - laatste invoeg-ID?

  2. Unieke beperking toevoegen aan combinatie van twee kolommen

  3. SQLite - Zet een tabel neer

  4. MySQL-query vindt waarden in een door komma's gescheiden tekenreeks