本文操作适用于PG14.x以及刚发布的PG15beta1 在 CentOS-7-x86_64-Minimal-2009(7.9) 下的 32位编译安装。
Centos7.9只有64位的,如何根据需要去编译32位的PostgreSQL呢?其实不难,下面让我们开始吧。
以下是我们编译安装好,在PG中的查询验证结果(最右边能看到“32-bit”的字样):
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 14.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 32-bit
(1 row)
一、相关安装包
本章节的1.1、1.2的安装包是需要安装的;1.3、1.4是根据功能需要可选择性安装。
1.1 相关工具
yum install -y wget rsync gcc gcc-c++ glibc-devel.i686 libstdc++-devel.i686
1.2 基本依赖包
yum install -y readline-devel.i686 zlib-devel.i686 openssl-devel.i686 libxml2-devel.i686
1.3 选项“--with-perl”所需(可选)
yum install -y perl-ExtUtils-Embed.noarch perl-libs.i686 perl-devel.i686
1.4 pg15beta1选项“--with-python”所需(可选):
yum install -y python3.i686 python3-libs.i686 python3-devel.i686
二、configure方案
2.1 最佳方案
一般使用这种就够了,除非有其他功能需求才按照2.2、2.3等功能开启。
CC='gcc -m32' \
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --target="i386-linux"
2.2 启用perl功能:
CC='gcc -m32' LDFLAGS='-L/usr/lib/perl5/CORE' CPPFLAGS='-I/usr/lib/perl5/CORE' \
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-perl --target="i386-linux"
2.3 再启用python功能:
CC='gcc -m32' LDFLAGS='-L/usr/lib/perl5/CORE' CPPFLAGS='-I/usr/lib/perl5/CORE' \
./configure --prefix=/usr/local/pgsql --with-openssl --with-libxml --with-perl --with-python --target="i386-linux"
三、编译安装
make && make install
剩下的创建os用户,初始化数据库等一些列操作,大家应该也都熟悉,就不一一介绍了。