postgresql Postgres版本/ psql

23c0lvtd  于 2022-12-03  发布在  PostgreSQL
关注(0)|答案(1)|浏览(171)

我正在运行macOS Monterey(版本12.6)。

  • psql -V给我psql (PostgreSQL) 14.6 (Homebrew)
  • postgres -V会给我postgres (PostgreSQL) 14.6 (Homebrew)
  • 当我在psql提示符下运行SELECT version();时,会得到postgres版本8:

PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.43931
问:如何在psql提示符下获得postgres版本14?(我需要一个只存在于postgres 9. 3以上版本的函数)

km0tfn4u

km0tfn4u1#

当您单独运行psql命令时,实际上是在运行

psql --port=5432 --host=localhost --username=postgres --dbname=postgres

这些是默认值,具体取决于您的环境变量和本地配置。
如果您安装并启动了多个PostgreSQL版本,它们可能只是在不同的端口上运行。无论您如何启动它们,您都可以搜索您的进程和端口,查看是否列出了多个版本以及它们在哪里侦听:

ps auxwww | grep postgres
sudo lsof -i -P | grep LISTEN

然后将psql指向另一个

psql --port=5433 --host=localhost --username=postgres --dbname=postgres

运行psql -V

-V
--version
    Print the psql version and exit.

显示了可能随新版本PostgreSQL一起安装的psql工具的版本,您可能没有卸载/升级旧数据库,甚至没有关闭旧数据库。因此,您使用的是与新数据库捆绑在一起的新工具,但仍然连接到运行SELECT version();的旧数据库。

相关问题