编译pg_duckdb步骤

  1. 要求cmake的版本要高于3.17,可以通过下载最新的cmake的程序,然后设置.bash_profile的PATH环境变量,将最新的cmake的bin目录放到PATH环境变量的最前面

  2. g++的版本要支持c++17标准,否则会报 error 'invoke_result in namespace 'std does not name a template type 错误

  3. 下载pg_duckdb的源码GitHub - duckdb/pg_duckdb: DuckDB-powered Postgres for high performance apps & analytics.

注意下载解压后,里面的third_party目录是空的,本来make的时候会执行

git submodule update --init --recursive 来下载所需要的duckdb的源码到该目录中,但是实际使用貌似不行,所以需要到github中直接下载duckdb的源码并放到third_party中

  1. 第一次执行的时候发现报下面的错误,可以通过

git init命令解决

make

git submodule update --init --recursive

fatal: 不是一个 git 仓库(或者任何父目录):.git

make: *** [Makefile:109:.git/modules/third_party/duckdb/HEAD] 错误 128

4.添加postgresql 的bin目录到PATH环境变量中,因为编译过程要执行pg_config命令,获取到server/include 目录

  1. 安装lz4-devel,否则编译完后无法链接。

  2. make过程中还会执行git clone命令,国内访问git网站时灵时不灵,如果报443超时错误可以多执行几次。

相关推荐
China_Yanhy1 小时前
入职 Web3 运维日记 · 第 8 日:黑暗森林 —— 对抗 MEV 机器人的“三明治攻击”
运维·机器人·web3
艾莉丝努力练剑1 小时前
hixl vs NCCL:昇腾生态通信库的独特优势分析
运维·c++·人工智能·cann
酉鬼女又兒1 小时前
每天一个Linux命令_printf
linux·运维·服务器
翼龙云_cloud1 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
虾说羊1 小时前
docker容器化部署项目流程
运维·docker·容器
Trouvaille ~1 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
大大大反派1 小时前
CANN 生态中的自动化部署引擎:深入 `mindx-sdk` 项目构建端到端 AI 应用
运维·人工智能·自动化
June`2 小时前
高并发网络框架:Reactor模式深度解析
linux·服务器·c++
WHD3062 小时前
苏州勒索病毒加密 服务器数据解密恢复
运维·服务器
蜡笔小炘2 小时前
LVS -- 持久链接(Persistent Connection)实现会话粘滞
运维·服务器