Quelle est la différence entre les commands "" psql "" et "" postgres ""?

Je cours le lion de montagne et je reçois des réponses très différentes lorsque je lance les commands psql ou postgres .

Pour le premier, je reçois:

 > psql ovatsug25=# 

Pour ce dernier, je reçois:

 > postgres postgres does not know where to find the server configuration file. 

Vous devez spécifier l' --config-file ou -D invocation ou définir la variable d'environnement PGDATA .

J'ai installé postgres via homebrew et j'ai couru

 rm /usr/bin/psql 

après cela.

Mon problème principal est fixé (Rails démarre et se connecte au db), mais je ne suis pas sûr de savoir où se trouve la différence entre ces commands ou la façon dont cela s'est produit. Toujours essayer de comprendre le pain en attendant … J'apprécierais toute aide.

Leurs locations

 which psql /usr/local/bin/psql 

et qui postgres

 which postgres /usr/local/bin/postgres 

postgres est le server lui-même, et s'exécute séparément de toutes les connections client. Il est presque jamais exécuté à la main . Même si vous souhaitez démarrer et arrêter, cela se fait normalement via pg_ctl ou un script d'initialisation si vous avez installé un package postgres à partir de votre dissortingbution. Je ne sais pas si la version OSX de Postgresql possède des moyens particuliers de démarrer le server, mais il doit être démarré avant que les clients ne puissent s'y connecter.

psql est le client de command line, qui se connecte au server et vous permet d'exécuter des requêtes individuelles à la main. Vous ne savez pas pourquoi vous pensez que vous aviez besoin de le faire, mais il ne faut pas que ça soit ennuyant, car sans ça, vous devrez écrire vos propres programmes pour exécuter des commands comme "CREATE TABLE" ou "CREATE USER".