匿名用户postgresql16如何离线安装pg_duckdb?
- 准备依赖项(在联网机器上)
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
墨值悬赏

