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

Linux 20.04下用PostgreSQL14编译Citus源码时,编译器仍指向已卸载的PG16报错

解决编译Citus时编译器仍指向已卸载的PostgreSQL 16目录问题
  • 清理PostgreSQL 16残留文件
    先彻底删除16版本的头文件目录,避免编译器误找:

    sudo rm -rf /usr/include/postgresql/16
    

    检查pg_config的指向(这是编译PostgreSQL扩展的关键工具):

    which pg_config
    

    如果输出不是PostgreSQL 14的路径(通常为/usr/lib/postgresql/14/bin/pg_config),直接删除旧的pg_config,并创建14版本的软链接:

    sudo rm -f /usr/bin/pg_config
    sudo ln -sf /usr/lib/postgresql/14/bin/pg_config /usr/bin/pg_config
    
  • 编译时强制指定PostgreSQL 14路径
    编译Citus时,直接通过PG_CONFIG变量明确指定14版本的配置工具路径,绕过系统默认查找逻辑:

    ./configure PG_CONFIG=/usr/lib/postgresql/14/bin/pg_config
    make
    make install
    
  • 修正PKG_CONFIG_PATH环境变量
    检查并更新PKG_CONFIG_PATH,确保只包含PostgreSQL 14的配置路径:

    echo $PKG_CONFIG_PATH
    # 如果输出包含16的路径,执行以下命令替换
    export PKG_CONFIG_PATH=/usr/lib/postgresql/14/lib/pkgconfig:$PKG_CONFIG_PATH
    
  • 清理编译缓存
    如果之前尝试过编译,先清理旧的配置和编译缓存,避免残留影响:

    make clean
    rm -rf config.log config.status
    

    之后重新执行带PG_CONFIG参数的configure和编译命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:43:20