sql >> Databáze >  >> RDS >> PostgreSQL

psql:FATAL:role postgres neexistuje

POZNÁMKA:Pokud jste nainstalovali postgres pomocí homebrew, podívejte se na komentář od @user3402754 níže.

Všimněte si, že chybová zpráva NE mluví o chybějící databázi, mluví o chybějící roli. Později v procesu přihlašování může také narazit na chybějící databázi.

Ale prvním krokem je zkontrolovat chybějící roli:Jaký je výstup v rámci psql příkazu \du ? Na mém systému Ubuntu vypadá příslušný řádek takto:

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

Pokud neexistuje alespoň jedna role s superuser , pak máte problém :-)

Pokud existuje, můžete jej použít k přihlášení. A podívejte se na výstup vašeho \l příkaz:Oprávnění pro user na template0 a template1 databáze jsou stejné jako v mém systému Ubuntu pro superuživatele postgres . Takže si myslím, že vaše jednoduché nastavení používá user jako superuživatel. Takže můžete zkusit tento příkaz pro přihlášení:

sudo -u user psql user

Pokud user je skutečně superuživatel DB, můžete pro něj vytvořit dalšího superuživatele DB a soukromou prázdnou databázi:

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

Ale protože se zdá, že to vaše nastavení postgres.app nedělá, neměli byste to dělat ani vy. Jednoduché přizpůsobení tutoriálu.



  1. Jak zkombinuji data ze dvou samostatných tabulek do jednoho kurzoru?

  2. sqlLiteDatabase.query() pro INNER JOIN

  3. Stáhněte si kopii vaší databáze

  4. Obnova instance mySQL z jiného uživatelského účtu (macOS)