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

Ubuntu环境下PlJava扩展加载失败:undefined symbol: GetMemoryChunkContext求解

解决Ubuntu环境下PlJava扩展加载报错:undefined symbol: GetMemoryChunkContext

问题核心

这个报错源于PlJava版本与PostgreSQL 14的内部API不兼容,GetMemoryChunkContext是PostgreSQL的内部函数,PlJava 1.6.7未适配PG14的API变动。

具体解决步骤

  • 升级PlJava到兼容PG14的版本
    PlJava 1.6.x系列对PG14的支持不完善,建议升级到1.7.0及以上版本,这些版本明确适配PostgreSQL 14。

  • 确保构建时正确关联PG14开发环境

    1. 安装PG14的开发依赖包:
      sudo apt install postgresql-server-dev-14
      
    2. 明确指定PG14的配置文件路径:
      export PG_CONFIG=/usr/lib/postgresql/14/bin/pg_config
      
    3. 清理旧构建缓存并重新编译安装:
      make clean
      make
      sudo make install
      
  • 检查库依赖是否正确
    使用ldd命令验证PlJava库依赖的PostgreSQL版本:

    ldd /usr/lib/postgresql/14/lib/libpljava-so-1.6.7.so
    

    若发现链接到其他版本的PG库,需在构建时指定PG14的库路径:

    LDFLAGS="-L/usr/lib/postgresql/14/lib" make
    
  • 使用预编译包替代手动构建
    若手动编译遇到问题,直接下载适配PG14的PlJava预编译二进制包,替换现有/usr/lib/postgresql/14/lib/下的相关文件,之后重启PostgreSQL服务:

    sudo systemctl restart postgresql@14-main
    

    再执行CREATE EXTENSION pljava;完成安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 17:47:05