PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

psql:FATAL:rola postgres nie istnieje

UWAGA:Jeśli zainstalowałeś postgres przy użyciu homebrew, zobacz komentarz od @user3402754 poniżej.

Zauważ, że komunikat o błędzie NIE mówić o brakującej bazie danych, mówi o brakującej roli. Później w procesie logowania może również natknąć się na brakującą bazę danych.

Ale pierwszym krokiem jest sprawdzenie brakującej roli:Jaki jest wynik w psql polecenia \du ? W moim systemie Ubuntu odpowiedni wiersz wygląda tak:

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

Jeśli nie ma co najmniej jednej roli z superuser , to masz problem :-)

Jeśli taki istnieje, możesz go użyć do zalogowania. I patrząc na wynik twojego \l polecenie:uprawnienia dla user na template0 i template1 bazy danych są takie same jak w moim systemie Ubuntu dla superużytkownika postgres . Więc myślę, że twoja konfiguracja jest prosta, używa user jako superużytkownik. Możesz więc spróbować tego polecenia, aby się zalogować:

sudo -u user psql user

Jeśli user jest naprawdę superużytkownikiem bazy danych, możesz utworzyć dla niego innego superużytkownika bazy danych i prywatną, pustą bazę danych:

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

Ale ponieważ twoja konfiguracja postgres.app wydaje się tego nie robić, nie powinieneś. Po prostu dostosuj samouczek.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dialekt musi być wyraźnie podany od wersji 4.0.0

  2. Priorytet oparty na czasie w zapytaniu Active Record

  3. Alias ​​odniesienia w klauzuli WHERE

  4. Postgres:Jak przekonwertować ciąg json na tekst?

  5. Postgresql wymusza unikalną dwukierunkową kombinację kolumn