web-dev-qa-db-ja.com

Postgresのシンボリックリンクを作成する

開発者として、コードをプッシュする前にアプリケーションをテストするために、ローカルデータベースにsshすることがよくあります。

ただし、Postgresにアクセスするたびに、次のように入力する必要があります。

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

私の仕事用のマシンでは、タイプするだけです

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

シンボリックリンクを作成しようとしましたが、成功しましたが、このショートカットから接続しようとすると、次のエラーメッセージが表示されます。

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シリーズの自己コンパイルバージョンを使用しています。

編集:これは実際にはシンボリックリンクではないことがわかりましたが、それが何と呼ばれるのかわかりません。基本的に、psql [OPTIONS]rvm [OPTIONS]のようなRuby [OPTIONS]を入力して、シェルから実行するようにします。

postgresql-client-commonという名前のパッケージとapt-getを介した他のPostgresパッケージが存在することは知っていますが、その場でPostgresを更新できるようにapt-getバージョンを使用しないことをお勧めします。

2
Edwin

Psqlを直接呼び出すだけの場合は、ログイン時にパス「/ usr/local/pgsql/bin」が$ PATHに含まれていることを確認する必要があります。これは、PATH変数を/ etc/profile(または〜/ .profile)またはbashを使用している場合、これは/ etc/bashrcまたは〜/ .bashrcになります。

例えば.

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

さらに.. psqlコマンドは次のような引数を期待しています。 psql <dbname> <username>(--flagsを使用して同じものを指定できます)。

「psql test」を指定すると、現在のユーザーのユーザー名を想定します(whoamiコマンドで表示)。

お役に立てれば。

4
papashou

Linux Aliasを使用しないのはなぜですか?

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

永続的なエイリアスを作成するには、この行を

~/.bashrc or ~/.bash_profile
3
masterdam79