如何更改 psql 版本?

如何更改 psql 版本?

我的系统正在查看usr/bin/psql并且我需要使用/usr/pgsql-10/bin/psql,但我不知道如何更改它。我觉得我不应该删除或重命名第一个。如何让我的系统在对文件系统进行最小更改的情况下使用另一个系统?我alias在我的 中使用吗.bash_profile

顺便说一句,第一个版本是 9.2.24,第二个版本是 10.6。

答案1

使用别名就可以了。您可以创建一个别名,其中包含数据库的所有连接信息,例如:

alias mydb='/usr/pgsql-10/bin/psql -h localhost -p 5433 -U myuser mydatabase'

这样您就不必重新输入所有内容。如果需要,您仍然可以在 shell 中访问 9.2 版本的 psql。 (请注意,上面假设 postgresql-10 数据库服务器正在侦听 5433 而不是标准端口 5432)

答案2

该问题没有提及 Linux 发行版,但/usr/pgsql-10/bin路径建议基于 RHEL。由于可以在单个系统上安装多个版本的 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.您可以通过将以下内容添加到 shell 初始化文件的末尾来完成此操作(例如,~/.bashrc如果您使用的是bash):

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

可以在任何需要使用psqlfrom/usr/psql-10/bin而不是默认路径的脚本中执行相同的操作(修改PATH脚本中的 应该发生早期的在脚本中)。

修改PATH是在具有各种实用程序的替代实现的系统上更改脚本或 shell 会话“个性”的最常见方法。

答案4

原来我postgresql.x64_86安装了一个或类似的。我把它拿出来,正确的psql被自动选择,因为 $PATH 已经正确了。

相关内容