1 下载
直接到gitee或者github
地址:https://gitee.com/opengauss/openGauss-server#%E4%B8%8B%E8%BD%BDopengauss
方法:
选择好你自己需要的仓库,本例复制的是server仓库。在本地使用 git clone + 地址 拉取代码
2 编译准备
建议参考最新的 编译文档 如图 在代码目录下方的redame文件。
除了基本的项目代码 你还需要下载一个第三方库 用于编译;选择自己对应仓库的 第三方包下载:
下载完 你的目录应该有以下内容:
1 其中 代码 目录 openGuass 是自己建文件 用于存放opengauss代码 你可以自定义
2 binarylibs是你下载后的第三方包 rename后的文件
3 plugin 是一个插件包,忽略即可
3 正式编译
最新的编译 请参考官方最新文档:
编译分为 sh文件编译和命令编译,本次讲最简单的sh文件编译
gauss已经把编译脚本写进build.sh文件,直接执行即可:
sh build.sh -m debug -3rd /sda/binarylibs
其中: /sda/binarylibs 是你的第三方库地址 注意更换成自己的
编译过程及其缓慢 耐心等待。。。。
如果编译中 你提示 缺少 依赖包,那么请尝试安装:
yum install -y libaio-devel ncurses-devel pam-devel libffi-devel python3-devel libtool libtool-ltdl openssl-devel bison flex glibc-devel patch readline-devel lsb_release
编译完成,你将会得到这样的目录和结果:
1 其中 会有build has finished!提示
2 并且没有任何异常和报错
3 官方文档中说的dest 其中 现实编译了 名叫mppdb_temp_install这个文件
至此 你已成功编译完成!
4 运行和调试
启动数据库
1 配置环境变量
为什么要配置?
其实尝试过 直接用./在本地目录启动 但是由于你的库是自己目录 没放到 lib目录下 所以 启动不成功。
export CODE_BASE=’pwd‘ //自己的openGauss目录
export BINARYLIBS= //自己的BINARYLIBS目录
export GAUSSHOME=$CODE_BASE/mppdb_temp_install/ // 默认
export GCC_PATH=$BINARYLIBS/buildtools/gcc7.3/ // 自己的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
export PGDATA=$GAUSSHOME/bin/data /**/自己创建的data目录**
提示:这里你需要在 mppdb_temp_install/ bin下自建一个data目录,即上文提到的export PGDATA=$GAUSSHOME/bin/data //自己创建的data目录 , 用于存放你数据库信息 当然你也可以在其他目录建。
完成配置以后
本次没有自建 用户 默认使用当前用户登录 ,进入数据库以后 会让你设置密码 根据提示操作即可!!
初始化
gs_initdb --nodename=primary
启动服务
gs_ctl restart -D data -Z single_node -l logfile
进入数据库
gsql postgres
连接dolphin
create database db_name dbcompatibility 'B';
\c db_name;
2 调试
使用gdb 或者其他能attch 的软件即可调试
执行的主文件是: src/gausskernel/process/main/main.cpp
sql语句入口函数是:exec_simple_query (自己搜索一下打断点)