You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

终端执行postgres --version显示版本与实际安装的PostgreSQL版本不符的问题求助

终端执行postgres --version显示版本与实际安装的PostgreSQL版本不符的问题求助

别担心,这个问题非常常见,并不是你的系统或者PostgreSQL安装出问题了,核心原因是终端的PATH环境变量还指向旧版本的PostgreSQL执行文件路径,而不是你刚装的Postgres.app里的新版本。

下面是具体的解决步骤:

步骤1:确认Postgres.app的命令路径

Postgres.app会把每个版本的命令放在/Applications/Postgres.app/Contents/Versions/[版本号]/bin目录下,同时它会创建一个latest软链接指向当前最新的版本目录,所以我们可以直接用这个通用路径:

/Applications/Postgres.app/Contents/Versions/latest/bin

步骤2:检查当前PATH中的PostgreSQL路径

在终端执行以下命令,查看当前的环境变量路径:

echo $PATH

你应该会看到旧版本PostgreSQL的路径(比如/usr/local/bin,因为之前的14.2是通过Homebrew安装的,默认放在这个目录)排在Postgres.app路径的前面,所以系统优先调用旧版本的命令。

步骤3:修改PATH环境变量,优先指向Postgres.app

根据你使用的终端shell类型(现在Mac默认是zsh,之前是bash),修改对应的配置文件:

如果用zsh(大多数新Mac用户)

  1. 打开终端,编辑~/.zshrc文件:
    open -e ~/.zshrc
    
  2. 在文件末尾添加一行:
    export PATH="/Applications/Postgres.app/Contents/Versions/latest/bin:$PATH"
    
  3. 保存文件后,执行以下命令让修改立即生效:
    source ~/.zshrc
    

如果用bash

  1. 编辑~/.bash_profile或~/.bashrc文件:
    open -e ~/.bash_profile
    
  2. 同样在末尾添加上述的PATH配置行,然后执行:
    source ~/.bash_profile
    

步骤4:验证修改效果

现在再在终端执行:

postgres --version

应该就会显示你安装的PostgreSQL 15.1版本了。

另外补充一点:如果以后你通过Postgres.app切换不同的PostgreSQL版本,只要保持使用latest这个软链接路径,PATH会自动指向当前激活的版本,不需要再次修改配置。


你的问题回顾

你原本的操作流程是:

  • 从14.2升级到15,先删除了/usr/local/var下的Postgres相关目录
  • 通过Postgres.app安装了15.1版本,且数据库运行正常
  • 但终端执行postgres --version仍显示14.2

这是因为虽然你删除了旧版本的数据目录,但旧版本的执行文件(比如/usr/local/bin/postgres)还存在,且PATH里这个目录的优先级比Postgres.app的路径高,所以终端还是调用旧版本的命令。

备注:内容来源于stack exchange,提问作者Mike K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:39:06