oGRecorder:基于 C 语言的 WAL 日志记录服务基础组件项目

可用于提供 WAL 日志记录服务,是一款基础组件。采用 C 语言开发,支持多种操作系统,通过 CMake 或 Make 编译,提供构建脚本,编译后生成动态库、可执行文件及安装包,包含单元测试。【此简介由AI生成】

分支2Tags0

GR

GR(WAL Recorder)是一款提供WAL日志记录服务的基础组件。

工程说明

编程语言

  • C

编译工具

  • CMake(推荐)
  • Make

目录结构

  • GR:主目录,包含主工程入口CMakeLists.txt
  • src:源代码目录,按子目录划分通用功能函数
  • build/build.sh:工程构建脚本

编译指导

操作系统和软件依赖

支持以下操作系统:

  • CentOS 7.6(x86)
  • openEuler-20.03-LTS
  • openEuler-22.03-LTS
  • openEuler-24.03-LTS

适配其他系统,可参照openGauss数据库编译指导。

下载GR及第三方库

可以从开源社区下载GR。第三方库下载地址:

系统版本 下载链接
openEuler_arm 下载链接
openEuler_x86 下载链接
Centos_x86 下载链接
openEuler 22.03 arm 下载链接
openEuler 22.03 x86 下载链接
openEuler 24.03 arm 下载链接
openEuler 24.03 x86 下载链接

代码编译

使用 GR/build/build.sh 编译代码,参数说明如下:

选项 参数 说明
-3rd [binarylibs path] 指定binarylibs路径(三方库解压完成的路径)。该路径必须是绝对路径。
-m [version_mode] 编译目标版本,Debug或者Release。默认Release
-t [build_tool] 指定编译工具,cmake或者make。默认cmake
-pkg 无需参数 是否生成安装包的开关参数,默认不生成;指定该参数则生成安装包

编译命令示例:

sh build.sh -3rd [binarylibs path] -m Release -t cmake -pkg

编译完成后,动态库生成在 GR/output/lib 目录中,可执行文件生成在 GR/output/bin 目录中,安装包生成再 GR 目录中(包名:openGauss-oGRecorder-xxxx.tar.gz)。

使用

  1. 修改 GR/test/test_home/test_env 中的 CODE_BASE 为GR目录的绝对路径。
  2. 执行 source GR/test/test_home/test_env 设置环境变量。
  3. 启动WAL日志记录服务:grserver &
  4. 停止WAL日志记录服务:grcmd stop

单元测试

执行 GR/test/gtest/build.sh 编译单元测试代码:

./test_api

项目介绍

可用于提供 WAL 日志记录服务,是一款基础组件。采用 C 语言开发,支持多种操作系统,通过 CMake 或 Make 编译,提供构建脚本,编译后生成动态库、可执行文件及安装包,包含单元测试。【此简介由AI生成】

https://gitcode.com/opengauss/oGRecorder定制我的领域