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

在macOS上安装PostgreSQL 10的parray_gin扩展遇编译问题求助

解决macOS上pgxn安装parray_gin扩展的icu4c路径问题

我之前也碰到过一模一样的情况——brew装的icu4c不在系统默认搜索路径里,导致pgxn编译时死活找不到头文件。给你几个亲测可行的解决方案:

方法一:临时设置环境变量后执行pgxn安装

直接在终端里先指定编译器需要的头文件和库文件路径,再运行pgxn命令就行:

# 让编译器找到icu4c的头文件和库文件
export CFLAGS="-I/usr/local/opt/icu4c/include"
export LDFLAGS="-L/usr/local/opt/icu4c/lib"
# 执行parray_gin安装
pgxn install parray_gin

嫌分两次敲命令麻烦的话,直接合并成一行也行:

CFLAGS="-I/usr/local/opt/icu4c/include" LDFLAGS="-L/usr/local/opt/icu4c/lib" pgxn install parray_gin

方法二:手动下载源码编译安装

如果pgxn的自动安装还是抽风,直接手动编译反而更稳妥:

  1. 先下载parray_gin的源码包:
    pgxn download parray_gin
    
  2. 解压下载好的压缩包(把<版本号>替换成实际下载的版本,比如0.0.2):
    tar -xzf parray_gin-<版本号>.tar.gz
    cd parray_gin-<版本号>
    
  3. 编译时明确指定icu4c的路径:
    make CFLAGS="-I/usr/local/opt/icu4c/include" LDFLAGS="-L/usr/local/opt/icu4c/lib"
    
  4. 编译完成后执行安装:
    make install
    

额外注意事项

  • 如果你的PostgreSQL是通过brew安装的,先确认pg_config在你的PATH里,可以用which pg_config检查路径。如果不在PATH里,编译时可以加上PG_CONFIG变量指定路径:
    # Intel芯片mac用这个路径
    make PG_CONFIG=/usr/local/bin/pg_config CFLAGS="-I/usr/local/opt/icu4c/include" LDFLAGS="-L/usr/local/opt/icu4c/lib"
    # M1/M2芯片mac用这个路径
    make PG_CONFIG=/opt/homebrew/bin/pg_config CFLAGS="-I/usr/local/opt/icu4c/include" LDFLAGS="-L/usr/local/opt/icu4c/lib"
    
  • 安装完扩展后,记得在你的PostgreSQL数据库里执行CREATE EXTENSION parray_gin;来启用它。

内容的提问来源于stack exchange,提问作者Joris

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:44:08