Il semble que votre gestionnaire de packages n'ait pas réussi à créer la base de données nommée $user pour vous. La raison pour laquelle
psql -d template1
fonctionne pour vous est que template1 est une base de données créée par postgres lui-même et est présente sur toutes les installations. Vous êtes apparemment capable de vous connecter à template1, vous devez donc avoir certains droits qui vous sont attribués par la base de données. Essayez ceci à l'invite du shell :
createdb
puis voyez si vous pouvez vous reconnecter avec
psql -h localhost
Cela créera simplement une base de données pour votre utilisateur de connexion, ce qui, je pense, est ce que vous recherchez. Si createdb échoue, alors vous n'avez pas assez de droits pour créer votre propre base de données, et vous devrez trouver comment réparer le paquet homebrew.