Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

As a developer, I often ssh right into my local database, just to test my application before pushing my code.

However, I find that every time I want to access Postgres, I have to type in

postgres@ubuntu:~$ /usr/local/pgsql/bin/psql test

whereas on my work machine, all I have to do is type

postgres@ubuntu:~$ psql --dbname=test --username=user

I tried creating a symlink, which was successful, but whenever I try connecting to it through this shortcut, I get the following error message:

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"?

How do I get this to work? In case it makes any difference, I'm using a self-compiled version of the 9.1.x series.

EDIT: I now know that this isn't really symlinking, but I'm not sure what it's called, or I'm sure I would have found it on Google already. Basically, I want it to run from the shell by typing in psql [OPTIONS] like rvm [OPTIONS] or ruby [OPTIONS].

I know there's a package named postgresql-client-common & a bunch of other Postgres packages through apt-get, but I would prefer not using the apt-get version so I can update Postgres on the fly.

share|improve this question
add comment

2 Answers 2

up vote 4 down vote accepted
+25

If it's just a matter of calling on psql directly you need to make sure the path "/usr/local/pgsql/bin" is included in $PATH when you are logging in. Oftentimes this has to do with setting the PATH variable appropriately in in /etc/profile (or ~/.profile) or if you are using bash, then this would be /etc/bashrc or ~/.bashrc.

e.g.

export PATH="$PATH:/usr/local/psql/bin"

Additionally.. the psql command expects the args as follow; psql <dbname> <username> (you can use --flags to specify the same).

If you supply "psql test"- then it will assume the username of the current user (as seen by whoami command).

Hope this helps.

share|improve this answer
add comment

Why not use the Linux Alias?

alias psql=/usr/local/pgsql/bin/psql

To make a permanent alias, just put this line in

~/.bashrc or ~/.bash_profile
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.