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

如何使psql客户端版本与PostgreSQL服务器版本一致(Mac Homebrew环境)

PostgreSQL客户端psql版本不匹配问题解决(macOS Sonoma + Homebrew)

问题原因

你当前安装了postgresql@14和postgresql@16两个版本,服务器运行的是16,但系统调用psql时优先找到了14版本的客户端——这是因为Homebrew的版本化PostgreSQL包会将各自的二进制文件放在独立路径,而你的系统PATH环境变量中,postgresql@14的路径优先级高于16,导致默认调用旧版本客户端。

解决方法(优先Homebrew方案)

临时适配当前终端

  • 直接调用16版本的psql:
    /usr/local/opt/postgresql@16/bin/psql postgres
    
  • 或者临时将16版本的bin目录加入PATH最前端:
    export PATH="/usr/local/opt/postgresql@16/bin:$PATH"
    
    执行后再运行psql postgres,就能使用16版本的客户端了。

永久设置默认psql为16版本

修改你的shell配置文件(macOS Sonoma默认用zsh,对应文件是~/.zshrc;如果用bash则是~/.bash_profile):

  1. 打开配置文件:
    open ~/.zshrc
    
  2. 在文件末尾添加一行:
    export PATH="/usr/local/opt/postgresql@16/bin:$PATH"
    
  3. 保存后执行以下命令使配置生效:
    source ~/.zshrc
    
    之后新开终端,执行psql --version就能看到版本已同步为16。

卸载旧版本(如果不需要postgresql@14)

如果你确定不再需要14版本的PostgreSQL服务器,可以直接卸载:

brew uninstall postgresql@14

卸载后系统PATH中只会保留16版本的路径,psql会自动匹配服务器版本。

是否需要切换回PostgreSQL 14服务器?

完全没必要,除非你有必须依赖14版本的业务或工具。跨大版本的客户端和服务器虽会弹出警告,但基础功能大多能正常使用;而将psql升级到16版本后,既能消除警告,还能使用新版本客户端的全部功能,体验更完整。

内容的提问来源于stack exchange,提问作者C. Ball

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:13:10