J'utilise l'application PostgreSql pour mac ( http://postgresapp.com/ ). Je l'ai utilisé dans le passé sur d'autres machines, mais cela me pose des problèmes lors de l'installation sur mon macbook. J'ai installé l'application et j'ai exécuté:
psql -h localhost
Il renvoie:
psql: FATAL: database "<user>" does not exist
Il semble que je ne puisse même pas exécuter la console pour créer la base de données qu'elle tente de trouver. La même chose se produit quand je viens de courir:
psql
ou si je lance psql depuis le menu déroulant de l'application:
Statistiques de la machine:
OSX 10.8.4
psql (PostgreSQL) 9.2.4
Toute aide est appréciée.
J'ai également essayé d'installer PostgreSql via homebrew et j'obtiens le même problème. J'ai également lu la page de documentation des applications qui indique:
Lorsque Postgres.app démarre pour la première fois, il crée la base de données $ USER, qui est la base de données par défaut pour psql lorsqu'aucune n'est spécifiée. L'utilisateur par défaut est $ USER, sans mot de passe.
Il semblerait donc que l'application ne crée pas $ USER mais j'ai installé-> désinstallé-réinstallé plusieurs fois maintenant, donc cela doit être quelque chose avec ma machine.
J'ai trouvé la réponse, mais je ne sais pas exactement comment cela fonctionne, car l'utilisateur qui a répondu sur ce fil -> Faire fonctionner Postgresql sur Mac: la base de données "postgres" n'existe pas n'a pas suivi. J'ai utilisé la commande suivante pour ouvrir psql:
psql -d template1
Je vais laisser celui-ci sans réponse jusqu'à ce que quelqu'un puisse expliquer pourquoi cela fonctionne.
createdb <user>
fonctionné pour moi.
psql -U user -d postgres
, cela garantit que l'utilisateur est connecté à la base de données postgres, qui est déjà présente. Nous devons donc transmettre la base de données également lors de la connexion.
psql -d postgres -U postgres -h localhost
montre-t-on? Sans drapeaux, il s'agit par défaut de l'utilisateur CLI, et j'aurais dit qu'il s'agissait par défaut de la base de données d'administration "postgres" mais je n'ai pas de mac pour tester.