sql >> Base de Datos >  >> RDS >> PostgreSQL

psql:FATAL:el rol postgres no existe

NOTA:Si instaló postgres usando homebrew, vea el comentario de @user3402754 a continuación.

Tenga en cuenta que el mensaje de error NO habla de una base de datos faltante, habla de un rol faltante. Más adelante en el proceso de inicio de sesión, también podría tropezar con la base de datos que falta.

Pero el primer paso es verificar el rol que falta:¿Cuál es el resultado dentro de psql? del comando \du ? En mi sistema Ubuntu, la línea correspondiente se ve así:

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

Si no hay al menos un rol con superuser , entonces tienes un problema :-)

Si hay uno, puede usarlo para iniciar sesión. Y mirando la salida de tu \l comando:Los permisos para user en la template0 y template1 las bases de datos son las mismas que en mi sistema Ubuntu para el superusuario postgres . Entonces creo que su configuración simple usa user como superusuario. Así que podría probar este comando para iniciar sesión:

sudo -u user psql user

Si user es realmente el superusuario de DB, puede crear otro superusuario de DB y una base de datos privada y vacía para él:

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

Pero dado que su configuración de postgres.app no ​​parece hacer esto, tampoco debería hacerlo. Sencillo adaptar el tutorial.