基于openEuler实现openGauss源码安装
基于openEuler实现openGauss源码安装
平台配置:
操作系统:openEuler 24.03 LTS
处理器数:2
每个处理器的核数:2
运行内存:8G
磁盘内存:200G
1. 创建用户
openGauss不能用root用户安装
groupadd og
useradd -g og omm
2. 安装依赖
yum install -y libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel libedit-devel libxml2-devel lz4-devel numactl-devel unixODBC-devel java-1.8.0-openjdk-devel openblas-devel
yum install -y dkms
3. 创建目录
在/home/omm目录下创建openGauss目录,用于存放openGauss源码、第三方二进制依赖、数据和日志等。
# 切换至omm用户,此时的工作目录路径为/home/omm
su - omm
# 创建目录openGauss,随后进入该目录
mkdir openGauss
cd openGauss
4. 下载第三方二进制依赖
# 下载
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/binarylibs/gcc10.3/openGauss-third_party_binarylibs_openEuler_2403_x86_64.tar.gz
# 解压
tar -zxvf openGauss-third_party_binarylibs_openEuler_2403_x86_64.tar.gz
# 重命名
mv openGauss-third_party_binarylibs_openEuler_2403_x86_64 binarylibs
5. 克隆openGauss代码
git clone https://gitcode.com/opengauss/openGauss-server.git
6. 配置环境变量
首先打开~/.bashrc文件
vim ~/.bashrc
然后在文件的末尾写入如下内容:
export CODE_BASE=/home/omm/openGauss/openGauss-server # openGauss-server的路径
export BINARYLIBS=/home/omm/openGauss/binarylibs # binarylibs的路径
export GAUSSHOME=$CODE_BASE/mppdb_temp_install/ #由configure时定义的$GAUSSHOME决定,此处为默认值
export GCC_PATH=$BINARYLIBS/buildtools/gcc10.3 # gcc的版本,根据三方包中对应的gcc版本进行填写即可
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 ~/.bashrc
7. 手动编译安装
编译安装的过程中会不断出现warning信息,不用理会。
- 编译后软件安装路径为:
$GAUSSHOME - 编译后的二进制放置路径为:
$GAUSSHOME/bin
cd openGauss-server
# configure完成后即可执行make
./configure --gcc-version=10.3.0 CC=g++ CFLAGS='-O0' --prefix=$GAUSSHOME --3rd=$BINARYLIBS --enable-debug --enable-cassert --enable-thread-safety --with-readline --without-zlib
# 若最后显示"All of openGauss successfully made. Ready to install"即为编译成功
make -j4
# 若最后显示"openGauss installation complete"即为安装成功
make install -j4
理论上也可以使用脚本进行一键式安装。在目录/home/omm/openGauss/openGauss-server中执行指令sh build.sh -m debug -3rd /home/omm/openGauss/binarylibs即可。但该方式最后会提示有一个动态库找不到,不清楚是否会对功能产生影响。
8. 建立数据和日志目录
cd /home/omm/openGauss
mkdir data
mkdir log
9. 初始化数据库
gs_initdb -D /home/omm/openGauss/data --nodename=gauss
10. 启动数据库
gs_ctl start -D /home/omm/openGauss/data -Z single_node -l /home/omm/openGauss/log/openGauss.log
11. 调试配置
11.1 忽略中断信号
新建配置文件
cd /home/omm
vim ~/.gdbinit
写入如下内容
handle SIGUSR1 nostop
handle SIGUSR2 nostop
11.2 配置launch.json文件
先进入openGauss-server目录,并创建.vscode文件夹。随后在.vscode文件夹中创建launch.json文件:
cd /home/omm/openGauss/openGauss-server
mkdir .vscode
cd .vscode
vim launch.json
将以下内容写入launch.json文件:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "openGauss-debug",
"type": "cppdbg",
"request": "attach",
"program": "/home/omm/openGauss-server/mppdb_temp_install/bin/gaussdb",
"processId": "${command:pickProcess}",
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
使用vscode编辑器打开openGauss-server代码目录,先根据需要打上断点,再按下F5,然后在弹出的输入框中输入gaussdb并按下回车键,就可以开始调试了。
12. 连接数据库
gsql -d postgres -p 5432 -r

浙公网安备 33010602011771号