En tant que développeur, je ssh souvent directement dans ma base de données locale, juste pour tester mon application avant de pousser mon code.
Cependant, je trouve que chaque fois que je veux accéder à Postgres, je dois taper
postgres@ubuntu:~$ /usr/local/pgsql/bin/psql test
alors que sur ma machine de travail, je n'ai qu'à taper
postgres@ubuntu:~$ psql --dbname=test --username=user
J'ai essayé de créer un lien symbolique, qui a réussi, mais chaque fois que j'essaie de me connecter via ce raccourci, j'obtiens le message d'erreur suivant:
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Comment puis-je faire fonctionner cela? Au cas où cela ferait une différence, j'utilise une version auto-compilée de la série 9.1.x.
EDIT: Je sais maintenant que ce n'est pas vraiment un lien symbolique, mais je ne suis pas sûr de son nom, ou je suis sûr que je l'aurais déjà trouvé sur Google. Fondamentalement, je veux qu'il s'exécute à partir du shell en tapant psql [OPTIONS]
comme rvm [OPTIONS]
ou Ruby [OPTIONS]
.
Je sais qu'il y a un paquet nommé postgresql-client-common
& un tas d'autres packages Postgres via apt-get
, mais je préférerais ne pas utiliser le apt-get
version pour que je puisse mettre à jour Postgres à la volée.
S'il s'agit simplement d'appeler directement psql, vous devez vous assurer que le chemin "/ usr/local/pgsql/bin" est inclus dans $ PATH lorsque vous vous connectez. Souvent, cela a à voir avec la définition appropriée de la variable PATH dans dans/etc/profile (ou ~/.profile) ou si vous utilisez bash, ce serait/etc/bashrc ou ~/.bashrc.
par exemple.
export PATH = "$ PATH:/usr/local/psql/bin"
De plus .. la commande psql attend les arguments comme suit; psql <dbname> <username> (vous pouvez utiliser --flags pour spécifier la même chose).
Si vous fournissez "psql test" - alors il supposera le nom d'utilisateur de l'utilisateur actuel (comme vu par la commande whoami).
J'espère que cela t'aides.
Pourquoi ne pas utiliser l'alias Linux?
alias psql=/usr/local/pgsql/bin/psql
Pour créer un alias permanent, mettez simplement cette ligne dans
~/.bashrc or ~/.bash_profile