私のシステムで見ているのに使用する必要がありますが、usr/bin/psql
どのよう/usr/pgsql-10/bin/psql
に変更するのかわかりません。最初のアイテムを削除したり名前を変更したりしないでください。ファイルシステムを最小限に変更しながら、自分のシステムに別のシステムを使用させるにはどうすればよいですか?alias
私のもので使用しますか.bash_profile
?
ちなみに、最初のバージョンは9.2.24で、2番目のバージョンは10.6です。
答え1
エイリアスを使用してください。データベースへのすべての接続情報を含むエイリアスを生成できます。たとえば、次のようになります。
alias mydb='/usr/pgsql-10/bin/psql -h localhost -p 5433 -U myuser mydatabase'
これにより、すべての項目を再入力する必要がなくなります。必要に応じて、シェルはpsql 9.2バージョンに引き続きアクセスできます。 (上記では、postgresql-10データベースサーバーが標準ポート5432ではなく5433でリッスンしていると仮定します。)
答え2
質問にはLinuxディストリビューションは記載されていませんが、/usr/pgsql-10/bin
パス提案はRHELに基づいています。 1つのシステムに複数のバージョンのPostgreSQLをインストールできるため、代替/usr/bin
このプログラムは、RHELベースのディストリビューションでスレーブを管理するために使用されます/usr/pgsql-*/bin
。 Debianベースのディストリビューションも同様の方法を使用します。代替アップデートプログラム。
インストールされているすべての選択肢を一覧表示します。
$ alternatives --list
pgsql-pg_config auto /usr/pgsql-14/bin/pg_config
pgsql-createdb auto /usr/pgsql-14/bin/createdb
...
pgsql-psql auto /usr/pgsql-14/bin/psql
...
特定のプログラムの代替案をリストします。
$ alternatives --display pgsql-psql
pgsql-psql - status is auto.
link currently points to /usr/pgsql-14/bin/psql
/usr/pgsql-14/bin/psql - priority 1400
Current `best' version is /usr/pgsql-14/bin/psql.
さまざまな選択肢から選択してください。
$ sudo alternatives --config pgsql-psql
There is 1 program that provides 'pgsql-psql'.
Selection Command
-----------------------------------------------
*+ 1 /usr/pgsql-14/bin/psql
Enter to keep the current selection[+], or type selection number:
答え3
シェル初期化ファイルの末尾に以下を追加するだけです(たとえば、次を使用する場合/usr/pgsql-10/bin
)。/usr/bin
$PATH
~/.bashrc
bash
PATH=/usr/psql-10/bin:$PATH
psql
デフォルトパスではなくfromを使用する必要があるすべてのスクリプトで/usr/psql-10/bin
同じことを実行できます(PATH
スクリプトでfromを変更する必要があります)。早いスクリプトから)。
変更は、PATH
さまざまなユーティリティの代替実装を使用して、システム内のスクリプトまたはシェルセッションの「特性」を変更する最も一般的な方法です。
答え4
知ってみると似たようなpostgresql.x64_86
ものが設置されていました。取り出してみると、psql
$PATHがすでに正しいので、正しいものが自動的に選択されました。