Estou usando o aplicativo PostgreSql para mac ( http://postgresapp.com/ ). Eu usei no passado em outras máquinas, mas está me causando alguns problemas ao instalar no meu macbook. Instalei o aplicativo e executei:
psql -h localhost
Retorna:
psql: FATAL: database "<user>" does not exist
Parece que nem consigo executar o console para criar o banco de dados que ele está tentando encontrar. O mesmo acontece quando eu apenas corro:
psql
ou se eu iniciar o psql no menu suspenso do aplicativo:
Estatísticas da máquina:
OSX 10.8.4
psql (PostgreSQL) 9.2.4
Qualquer ajuda é apreciada.
Também tentei instalar o PostgreSql via homebrew e estou tendo o mesmo problema. Também li a página de documentação dos aplicativos que afirma:
Quando o Postgres.app é iniciado pela primeira vez, ele cria o banco de dados $ USER, que é o banco de dados padrão do psql quando nenhum é especificado. O usuário padrão é $ USER, sem senha.
Parece que o aplicativo não está criando $ USER, no entanto eu instalei -> desinstalei - reinstalei várias vezes agora, portanto deve ser algo com minha máquina.
Encontrei a resposta, mas não sei exatamente como ele funciona, pois o usuário que respondeu neste tópico -> Como executar o Postgresql no Mac: O banco de dados "postgres" não existe não seguiu. Eu usei o seguinte comando para abrir o psql:
psql -d template1
Deixarei este sem resposta até que alguém possa fornecer uma explicação para o porquê disso funcionar.
createdb <user>
funcionou para mim.
psql -U user -d postgres
, pois isso garante que o usuário esteja conectado ao banco de dados do postgres, que já está presente. Portanto, precisamos passar o banco de dados também durante o login.
psql -d postgres -U postgres -h localhost
mostra? Sem sinalizadores, o padrão é o usuário da CLI, e eu diria que o padrão é o db admin "postgres", mas não tenho um mac para testar.