Как разработчик, я часто захожу в мою локальную базу данных, просто чтобы протестировать свое приложение перед тем, как отправлять код.
Однако я нахожу, что каждый раз, когда я хочу получить доступ к Postgres, мне приходится вводить
postgres@ubuntu:~$ /usr/local/pgsql/bin/psql test
, тогда как на моей рабочей машине все, что мне нужно сделать, это набрать
postgres@ubuntu:~$ psql --dbname=test --username=user
[ 1112] Я попытался создать символическую ссылку, которая была успешной, но всякий раз, когда я пытаюсь подключиться к нему с помощью этого ярлыка, я получаю следующее сообщение об ошибке:
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"?
Как мне заставить это работать? В случае, если это что-то меняет, я использую самоскомпилированную версию серии 9.1.x.
РЕДАКТИРОВАТЬ: Теперь я знаю, что это на самом деле не символические ссылки, но я не уверен, как это называется, или я уверен, что уже нашел бы это в Google. По сути, я хочу, чтобы он запускался из оболочки, набрав psql [OPTIONS]
, например, rvm [OPTIONS]
или ruby [OPTIONS]
.
Я знаю, что есть пакет с именем postgresql-client-common
& amp; множество других пакетов Postgres через apt-get
, но я бы предпочел не использовать версию apt-get
, чтобы я мог обновлять Postgres на лету.
Если это просто вопрос вызова psql напрямую, вам необходимо убедиться, что путь «/ usr / local / pgsql / bin» включен в $ PATH при входе в систему. Часто это связано с настройкой PATH Переменная соответственно в / etc / profile (или ~ / .profile) или если вы используете bash, то это будет / etc / bashrc или ~ / .bashrc.
например.
export PATH = "$ PATH: / usr / local / psql / bin"
Кроме того, команда psql ожидает следующие аргументы; psql < dbname > < & имя пользователя GT; (вы можете использовать --flags, чтобы указать то же самое).
Если вы введете «psql test» - тогда он примет имя пользователя текущего пользователя (как видно по команде whoami).
Надеюсь, это поможет.
Почему бы не использовать псевдоним Linux?
alias psql=/usr/local/pgsql/bin/psql
Чтобы создать постоянный псевдоним, просто поместите эту строку в
~/.bashrc or ~/.bash_profile