psql: FATAL: la base de datos "<usuario>" no existe

Resuelto Ryan Rich asked hace 11 años • 25 respuestas

Estoy usando Postgres.app para Mac. Lo he usado en el pasado en otras máquinas pero me está dando algunos problemas al instalarlo en mi MacBook. Instalé la aplicación y ejecuté:

psql -h localhost

Vuelve:

psql: FATAL:  database "<user>" does not exist

Parece que ni siquiera puedo ejecutar la consola para crear la base de datos que intenta encontrar. Lo mismo sucede cuando acabo de ejecutar:

psql

o si ejecuto psql desde el menú desplegable de la aplicación:

Estadísticas de la máquina:

  • OSX 10.8.4
  • psql (PostgreSQL) 9.2.4

Se agradece cualquier ayuda.

También intenté instalar PostgreSQL a través de Homebrew y tengo el mismo problema. También leí la documentación de la aplicación que dice:

Cuando Postgres.app se inicia por primera vez, crea la base de datos $USER, que es la base de datos predeterminada psqlcuando no se especifica nada. El usuario predeterminado es $USER, sin contraseña.

Entonces parece que la aplicación no está creando $USER. Sin embargo, lo he instalado->desinstalado-reinstalado varias veces, por lo que debe ser algo relacionado con mi máquina.

Encontré la respuesta, pero no estoy seguro exactamente de cómo funciona, ya que el usuario que respondió en este hilo -> Cómo ejecutar Postgresql en Mac: la base de datos "postgres" no existe no realizó el seguimiento. Utilicé el siguiente comando para abrir psql:

psql -d template1
Ryan Rich avatar Jul 14 '13 02:07 Ryan Rich
Aceptado

Parece que su administrador de paquetes no pudo crear la base de datos denominada $usuario. La razón que

psql -d template1

Lo que funciona para usted es que template1 es una base de datos creada por el propio postgres y está presente en todas las instalaciones. Aparentemente puede iniciar sesión en la plantilla1, por lo que la base de datos debe tener algunos derechos asignados. Pruebe esto en el indicador de shell:

createdb

y luego ver si puedes iniciar sesión nuevamente con

psql -h localhost

Esto simplemente creará una base de datos para su usuario de inicio de sesión, que creo que es lo que está buscando. Si createb falla, entonces no tienes suficientes derechos para crear tu propia base de datos y tendrás que descubrir cómo arreglar el paquete homebrew.

Kirk Roybal avatar Jul 29 '2013 23:07 Kirk Roybal

Desde la terminal, simplemente ejecute el comando en la ventana del símbolo del sistema. (No dentro de psql) .

createdb <user>

Y luego intenta ejecutar postgres nuevamente.

Dhananjay avatar Apr 10 '2015 22:04 Dhananjay