Estoy usando la aplicación PostgreSql para mac ( http://postgresapp.com/ ). 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 correr:
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
Cualquier ayuda es apreciada.
También intenté instalar PostgreSql a través de homebrew y obtengo el mismo problema. También he leído la página de documentación de aplicaciones que dice:
Cuando Postgres.app se inicia por primera vez, crea la base de datos $ USER, que es la base de datos predeterminada para psql cuando no se especifica ninguno. El usuario predeterminado es $ USER, sin contraseña.
Entonces parece que la aplicación no está creando $ USER, sin embargo, he instalado-> desinstalado-reinstalado varias veces ahora, por lo que debe ser algo con mi máquina.
Encontré la respuesta, pero no estoy seguro de cómo funciona exactamente, ya que el usuario que respondió en este hilo -> Hacer que Postgresql se ejecute en Mac: la base de datos "postgres" no existe . Usé el siguiente comando para abrir psql:
psql -d template1
Dejaré este sin respuesta hasta que alguien pueda proporcionar una explicación de por qué esto funciona.
createdb <user>
funcionó para mí.
psql -U user -d postgres
, esto asegura que el usuario esté conectado a la base de datos postgres, que ya está presente. Por lo tanto, debemos pasar la base de datos también al iniciar sesión.
psql -d postgres -U postgres -h localhost
muestra? Sin indicadores, el valor predeterminado es el usuario de la CLI, y yo habría dicho que el valor predeterminado es el administrador de base de datos "postgres", pero no tengo una mac para probar.