pg_duckdb 构建指南
构建OLAP扩展 pg_duckdb 的特别注意事项。
Module:
pg_duckdb 构建说明
编译此扩展需要额外的依赖:
```bash
if [[ ${OS_VERSION} == "12" ]]; then
log_info "install deb12 utils"
sudo apt install -y lz4 unzip wget patch bash lsof sshpass debhelper devscripts fakeroot pkg-config make cmake ncdu rsync #build-essential
sudo apt install -y postgresql-all postgresql-server-dev-all libreadline-dev flex bison libxml2-dev libxml2-utils xsltproc libc++-dev libc++abi-dev libglib2.0-dev libtinfo5 libstdc++-12-dev liblz4-dev ninja-build
elif [[ ${OS_VERSION} == "22" ]]; then
log_info "install ubuntu22 utils"
sudo apt install -y lz4 unzip wget patch bash lsof sshpass debhelper devscripts fakeroot pkg-config make cmake ncdu rsync #build-essential
sudo apt install -y postgresql-all postgresql-server-dev-all libreadline-dev flex bison libxml2-dev libxml2-utils xsltproc libc++-dev libc++abi-dev libglib2.0-dev libtinfo6 libstdc++-12-dev liblz4-dev ninja-build
elif [[ ${OS_VERSION} == "24" ]]; then
log_info "install ubuntu24 utils"
sudo apt install -y lz4 unzip wget patch bash lsof sshpass debhelper devscripts fakeroot pkg-config make cmake ncdu rsync #build-essential
sudo apt install -y postgresql-all postgresql-server-dev-all libreadline-dev flex bison libxml2-dev libxml2-utils xsltproc libc++-dev libc++abi-dev libglib2.0-dev libtinfo6 libstdc++-12-dev liblz4-dev ninja-build
fi
pg_mooncake 构建说明
构建此扩展需要用到 patchelf
工具:
yum install -y patchelf
apt install -y patchelf
在 EL8 上构建时,编译器版本过低,需要进行如下的 HotFix:
cd ~/rpmbuild/SOURCES
tar -xf pg_mooncake-0.1.2.tar.gz
vi pg_mooncake-0.1.2/src/pgduckdb/scan/postgres_seq_scan.cpp
75G dd dd j dd :q
tar -zcf pg_mooncake-0.1.2.tar.gz pg_mooncake-0.1.2
rm -rf pg_mooncake-0.1.2