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

Ubuntu 22.04安装mongo_fdw后执行CREATE EXTENSION报错求解

解决PostgreSQL执行CREATE EXTENSION mongo_fdw时提示$libdir/mongo_fdw不存在的问题

问题根源

你的PostgreSQL通过Anaconda安装,当前仅将mongo_fdw的扩展配置文件(.control、.sql)放到了Anaconda的sharedir/extension目录,但核心共享库文件mongo_fdw.so并未安装到PostgreSQL指定的libdir(/home/qgis/anaconda3/lib),导致执行CREATE EXTENSION时找不到依赖库。

解决步骤

1. 重新编译并指定Anaconda的pg_config

进入mongo_fdw源码目录,重新执行编译安装流程,确保指向Anaconda环境下的pg_config:

# 进入mongo_fdw源码目录
cd /path/to/mongo_fdw

# 清理之前的编译文件
make clean

# 重新生成配置文件
./autogen.sh

# 指定Anaconda的pg_config路径完成配置
./configure --with-pgconfig=/home/qgis/anaconda3/bin/pg_config

# 编译并安装
make
sudo make install

2. 验证共享库是否安装到位

检查Anaconda的PostgreSQL lib目录是否存在mongo_fdw.so:

ls /home/qgis/anaconda3/lib/mongo_fdw.so

如果文件不存在,手动将编译生成的mongo_fdw.so(一般在源码目录的src子文件夹下)复制到该目录,并调整权限:

sudo cp /path/to/mongo_fdw/src/mongo_fdw.so /home/qgis/anaconda3/lib/
sudo chown qgis:qgis /home/qgis/anaconda3/lib/mongo_fdw.so

3. 再次执行扩展创建命令

回到PostgreSQL命令行,重新执行:

CREATE EXTENSION mongo_fdw;

注意事项

  • 确保编译时使用的pg_config版本与你的PostgreSQL版本(12.9)完全匹配,避免版本不一致导致兼容性问题
  • 使用sudo make install时,注意sudo环境是否能识别Anaconda路径,若出现找不到pg_config的情况,可直接使用绝对路径执行安装命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:30:47