下载最新postgresql并静态编译libpq 库

文档说明: 只记录关键的地方; 发布时间: 2023-08-31
环境:docker alpine-3.17 and debian 11-12
目的: 下载最新postgresql并静态编译libpq
状态: 完善中
备注:

postgresql 从 v16.0.0 版 开始使用 meson 构建系统

运行环境依赖

debian 环境

apt install -y git curl wget ca-certificates
apt install -y python3 python3-pip ninja-build
apt install -y meson
apt install -y netcat

alpine 环境

apk add ninja python3 py3-pip
apk add netcat-openbsd
pip3 install meson

准备 git-proxy 脚本, 解决拉取源码慢

脚本 git-proxy 是自定义脚本
脚本放任何位置都可以
脚本需要可执行权限
创建文件 /tmp/git-proxy

cat > /tmp/git-proxy <<___EOF___
#!/bin/bash
# 使用http-proxy
nc -X connect -x 127.0.0.1:8016 "\\$1" "\\$2"
# 使用socks5 配置
# nc -X 5 -x 127.0.0.1:2000 "\\$1" "\\$2"
___EOF___
# 给脚本添加可执行权限
chmod a+x /tmp/git-proxy

解决拉取源代码慢,方式一: 使用 git-proxy

export GIT_PROXY_COMMAND=/tmp/git-proxy
git clone git://git.postgresql.org/git/postgresql.git

解决拉取源代码慢,方式二: 使用 git-proxy 全局配置

git config --global core.gitproxy "/tmp/git-proxy"
# 查看配置情况
git config --get --global core.gitproxy
git clone git://git.postgresql.org/git/postgresql.git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
# 使用完毕,恢复为默认
git config --global core.gitproxy ""

构建 libpq 静态库 最新版

未完待整理

使用 meson 构建系统

postgresql 15 libpq 静态库,更多配置:pgsql-15-old.php

postgresql 16 libpq 静态库,更多配置:pgsql.php

postgresql latest libpq 静态库,更多配置:pgsql_latest.php

meson setup build \
-Dprefix=/opt/pgsql/ \
-Dlibdir=/opt/pgsql/lib \
-Dincludedir=/opt/pgsql/include \
-Dbackend=ninja \
-Dbuildtype=release \
-Ddefault_library=static \
-Db_staticpic=true \
-Db_pie=true \
-Dprefer_static=true \
-Dbonjour=disabled \
-Dbsd_auth=disabled \
-Ddocs_pdf=disabled \
-Dgssapi=disabled \
-Dbonjour=disabled \
-Dicu=enabled \
-Dldap=disabled \
-Dlibedit_preferred=true \
-Dlibxml=enabled \
-Dlibxslt=enabled \
-Dlz4=enabled \
-Dnls=enabled \
-Dpam=disabled \
-Dplperl=disabled \
-Dplpython=disabled \
-Dpltcl=disabled \
-Dreadline=enabled \
-Dssl=openssl \
-Dbonjour=disabled \
-Dsystemd=disabled \
-Duuid=e2fs \
-Dzlib=enabled \
-Dzstd=enabled \
ninja -C build
ninja -C build install

参考文档

  1. postgresql
  2. postgresql CONFIGURE-OPTIONS
  3. postgresql
  4. pgsql install
posted @   jingjingxyk  阅读(613)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示