编译 openGauss

  • 下载源码包与第三方软件
  • 修改配置文件
  • 编译、安装与测试

目录


1 编译前的准备

编译 openGauss 的流程参照了 openGauss编译文档openGauss编译指导书

编译的流程虽然简单,但网上的博客各有不详细之处。我在首次编译的时候就遇到了无法解决的问题,而本文是将其中我验证过的正确流程加以总结。请先按本文的流程进行编译,如果仍有问题,再阅读官方文档。

编译 openGauss 需要下载 openGauss-server 和 binarylibs 两个组件,后文会给出下载方式。

  • openGauss-server:openGauss 的主要代码。可以从开源社区获取。
  • binarylibs:openGauss 依赖的第三方开源软件,官方已经做出了一份已经编译过的版本。

然后请在编译前确保下列软件达到要求版本:

软件 推荐版本
libaio-devel 0.3.109-13
flex 2.5.31及以上版本
bison 2.7-4
ncurses-devel 5.9-13.20130511
glibc-devel 2.17-111
patch 2.7.1-10
lsb_release 4.1
readline-devel 7.0-13

yum install unzip gcc-c++ readline readline-devel
yum install libaio-devel flex bison ncurses-devel glibc-devel patch lsb_release


2 下载源码包与第三方软件

将下载好的文件通过共享文件夹放入目录 /home/omm 下,然后创建用户 omm(如果未创建):

su
groupadd dbgrp -g 2000
useradd omm -g 2000 -u 2000
passwd omm

创建安装目录并把目录的读写权赋给用户omm:

mkdir -p {/opt/og,/opt/ogdata}
chown -R omm: {/opt/og,/opt/ogdata}
chmod -R 755 /opt/og
chmod -R 700 /opt/ogdata

把文件的读写权赋给用户omm,注意正确填写压缩包名称:

chown omm: openGauss-third_party_binarylibs.tar.gz
chmod 755 openGauss-third_party_binarylibs.tar.gz
chown omm: openGauss-server-2.1.0.tar.gz
chmod 755 openGauss-server-2.1.0.tar.gz

此时一定要通过用户 omm 对两个文件进行解压:

su - omm
tar -zxvf openGauss-server-2.1.0.tar.gz
tar -zxvf openGauss-third_party_binarylibs.tar.gz

将压缩包重命名:

mv openGauss-third_party_binarylibs binarylibs
mv openGauss-server-2.1.0 openGauss-server

解压源文件与第三方软件


3 修改配置文件

配置环境变量,如果路径与我不同请进行相应的替换:

export CODE_BASE=/home/omm/openGauss-server
export BINARYLIBS=/home/omm/binarylibs
export GAUSSHOME=/opt/og
export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_x86_64/gcc7.3/
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH

这里建议在 /.bash_profile 和 /.bashrc 中同样添加:

vim ~/.bash_profile

在文件的末尾添加相同的命令:

export CODE_BASE=/home/omm/openGauss-server
export BINARYLIBS=/home/omm/binarylibs
export GAUSSHOME=/opt/og
export GCC_PATH=$BINARYLIBS/buildtools/centos7.6_x86_64/gcc7.3/
export CC=$GCC_PATH/gcc/bin/gcc
export CXX=$GCC_PATH/gcc/bin/g++
export LD_LIBRARY_PATH=$GAUSSHOME/lib:$GCC_PATH/gcc/lib64:$GCC_PATH/isl/lib:$GCC_PATH/mpc/lib/:$GCC_PATH/mpfr/lib/:$GCC_PATH/gmp/lib/:$LD_LIBRARY_PATH
export PATH=$GAUSSHOME/bin:$GCC_PATH/gcc/bin:$PATH

使其立即生效:

source ~/.bash_profile

对 ~/.bashrc 的操作同上。


4 编译与安装

进入目标文件:

cd /home/omm/openGauss-server
make clean

忽略这里的报错,开始编译:

./configure –prefix=/opt/og
–3rd=/home/omm/binarylibs
–gcc-version=7.3.0
–without-readline
–without-zlib
–enable-thread-safety
CC=g++ CFLAGS=”-O2 -g3”

正常情况得到如下反馈:

configure 正确反馈

接下来 make 的时候需要耐心等待,看到如下提示则表明编译成功:

make

make 正确反馈

恭喜,接下来开始安装,同样需要十分耐心的等待:

make install

出现 openGauss installation complete 反馈代表安装成功:

make install 正确反馈


5 测试

先查看一下安装版本:

/opt/og/bin/gsql –version

接着初始化数据库:

gs_initdb –nodename=master_5432
–pgdata=/opt/ogdata
–encoding=UTF-8
–locale=en_US.UTF-8
–dbcompatibility=’A’
–username=omm
–pwpasswd=Mypwd123

数据库初始化

在 /opt/ogdata/postgresql.conf 中可以修改监听端口,IP地址为‘0.0.0.0’代表监听所有IP:

查看监听端口

启动服务:

gs_ctl start -D /opt/ogdata

使用omm用户登陆postgres数据库:

gsql -p 5432 -Uomm postgres

启动并登录数据库

以上完成了 openGauss 编译与安装的全部流程。


Author

Lamber

Posted on

2022-02-08

Updated on

2022-02-11

Licensed under