暂无图片
postgresql16如何离线安装pg_duckdb?
我来答
分享
暂无图片 匿名用户
postgresql16如何离线安装pg_duckdb?

postgresql16如何离线安装pg_duckdb? 

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
小草
  1. 准备依赖项(在联网机器上)​​
    pg_duckdb 需要以下依赖:

​​PostgreSQL 16​​(已安装)
​​DuckDB 构建工具​​
​​PostgreSQL 扩展构建工具​​(gcc、make、libpq-dev 等)
​​(1)下载 pg_duckdb 源码​​
git clone https://github.com/duckdb/pg_duckdb.git
cd pg_duckdb
​​(2)下载 DuckDB 依赖​​
pg_duckdb 依赖 DuckDB 的库文件,可以提前下载:

wget https://github.com/duckdb/duckdb/releases/latest/download/libduckdb-src.zip
unzip libduckdb-src.zip
​​(3)打包所有依赖​​
将 pg_duckdb 源码、DuckDB 源码、PostgreSQL 开发包(postgresql-server-dev-16)打包:

tar -czvf pg_duckdb_offline.tar.gz pg_duckdb/ libduckdb-src/
​​2. 在离线机器上安装​​
​​(1)解压依赖包​​
tar -xzvf pg_duckdb_offline.tar.gz
cd pg_duckdb
​​(2)编译安装​​
make PG_CONFIG=/usr/pgsql-16/bin/pg_config install
​​注意​​:PG_CONFIG 需指向 PostgreSQL 16 的 pg_config 路径。

​​(3)配置 PostgreSQL​​
在 postgresql.conf 中添加:

shared_preload_libraries = ‘pg_duckdb’
然后重启 PostgreSQL:

systemctl restart postgresql-16
​​(4)创建扩展​​
CREATE EXTENSION pg_duckdb;
​​3. 验证安装​​
SELECT duckdb_version(); – 检查 DuckDB 版本
SELECT * FROM pg_extension WHERE extname = ‘pg_duckdb’; – 检查扩展是否加载
​​注意事项​​
如果 PostgreSQL 16 是离线安装的,需确保 postgresql-server-dev-16 已安装。
如果使用 Docker,可以直接拉取 pgduckdb/pgduckdb:16-main 镜像。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏