開発者として、コードをプッシュする前にアプリケーションをテストするために、ローカルデータベースに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
バージョンを使用しないことをお勧めします。
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コマンドで表示)。
お役に立てれば。
Linux Aliasを使用しないのはなぜですか?
alias psql=/usr/local/pgsql/bin/psql
永続的なエイリアスを作成するには、この行を
~/.bashrc or ~/.bash_profile