psqlのバージョンを変更するには?

psqlのバージョンを変更するには?

私のシステムで見ているのに使用する必要がありますが、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~/.bashrcbash

PATH=/usr/psql-10/bin:$PATH

psqlデフォルトパスではなくfromを使用する必要があるすべてのスクリプトで/usr/psql-10/bin同じことを実行できます(PATHスクリプトでfromを変更する必要があります)。早いスクリプトから)。

変更は、PATHさまざまなユーティリティの代替実装を使用して、システム内のスクリプトまたはシェルセッションの「特性」を変更する最も一般的な方法です。

答え4

知ってみると似たようなpostgresql.x64_86ものが設置されていました。取り出してみると、psql$PATHがすでに正しいので、正しいものが自動的に選択されました。

関連情報