最近学习一项新技能opengauss的编译安装,使用安装包安装opengauss之后,xml类型不具备写入,因为默认xml特性未开启,需在./configure编译安装时指定参数 --with-libxml,下面将介绍到opengauss3.0的手动编译安装。
安装环境
- 虚拟机VM15 操作系统centos7.6 x86架构
- 硬件配置 CPU:1C 内存:2G 磁盘: 60G
- 依赖要求 libaio-devel-0.3.109-13 gcc-c+±4.8.5-44 bison-3.0.4-2 flex-2.5.37-6 bison-3.0.4-2 ncurses-devel-5.9-14.20130511 glibc-devel-2.17-325 patch-2.7.1-12 redhat-lsb-core-4.1-27 readline-devel-6.2-11 perl-5.16.3-299
源码包及开源第三方软件
下载地址: opengauss-sever:https://gitee.com/opengauss/openGauss-server/repository/archive/v3.0.0?format=tar.gz ##由于开源软件编译构建耗时长,特地使用openGauss-third_party编译构建出了一份binarylibs并压缩上传到了网上,用户可以直接下载获取。 已编译好的开源第三方软件:https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/openGauss-third_party_binarylibs.tar.gz tar -zxvf opengauss-openGauss-server-v3.0.0.tar.gz tar -zxvf openGauss-third_party_binarylibs.tar.gz ##重命名开源第三方软件解压目录为binarylibs mv openGauss-third_party_binarylibs binarylibs
手动编译
1. 检查系统版本
进入到软件代码目录,执行脚本获取自己系统的版本。
说明:
- 显示的结果表示openGauss当前支持的操作系统,openGauss支持的操作系统为centos7.6_x86_64、openeuler_aarch64、openeuler_x86_64。
- 如果结果显示为Failed或者其他版本,表示openGauss不支持当前操作系统。
2. 配置环境变量
环境变量配置,根据自己的代码下载位置补充两处“____”,将获取到的结果替换下面的***。
3. 选择debug版进行configure
说明:
- -s参数是silent模式,有些编译信息不会打印出来。
- 如果使用-j参数,make执行的时候会一直增加并发数,有时会遇到“cannot allicate memory”的错。一般-j参数后可指定数字为 cpu数 X 2。如编译环境是4 CPU,可使用make -j8的参数进行编译。
编译验证
编译结束后,可按以下方式对编译后的openGauss进行验证:
1. 创建omm用户赋予环境变量
2. 数据库初始化和启动
3. XML类型的支持情况
最近学习一项新技能opengauss的编译安装,使用安装包安装opengauss之后,xml类型不具备写入,因为默认xml特性未开启,需在./configure编译安装时指定参数 --with-libxml,下面将介绍到opengauss3.0的手动编译安装。
openGauss=# CREATE TABLE xmltest ( openGauss(# id int, openGauss(# data xml openGauss(# ); CREATE TABLE openGauss=# INSERT INTO xmltest VALUES (1, '<value>one</value>'); ERROR: unsupported XML feature LINE 1: INSERT INTO xmltest VALUES (1, '<value>one</value>'); ^安装环境
源码包及开源第三方软件
下载地址: opengauss-sever:https://gitee.com/opengauss/openGauss-server/repository/archive/v3.0.0?format=tar.gz ##由于开源软件编译构建耗时长,特地使用openGauss-third_party编译构建出了一份binarylibs并压缩上传到了网上,用户可以直接下载获取。 已编译好的开源第三方软件:https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.0.0/openGauss-third_party_binarylibs.tar.gz tar -zxvf opengauss-openGauss-server-v3.0.0.tar.gz tar -zxvf openGauss-third_party_binarylibs.tar.gz ##重命名开源第三方软件解压目录为binarylibs mv openGauss-third_party_binarylibs binarylibs
手动编译
1. 检查系统版本
进入到软件代码目录,执行脚本获取自己系统的版本。
说明:
2. 配置环境变量
环境变量配置,根据自己的代码下载位置补充两处“____”,将获取到的结果替换下面的***。
3. 选择debug版进行configure
说明:
编译验证
编译结束后,可按以下方式对编译后的openGauss进行验证:
1. 创建omm用户赋予环境变量
2. 数据库初始化和启动
3. XML类型的支持情况
gsql -d postgres -r CREATE TABLE xmltest ( id int, data xml ); INSERT INTO xmltest VALUES (1, '<value>one</value>'); INSERT INTO xmltest VALUES (2, '<value>two</value>'); openGauss=# SELECT * FROM xmltest; id | data ----+-------------------- 1 | <value>one</value> 2 | <value>two</value> (2 rows) openGauss=# SELECT xmlconcat('<foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>'); xmlconcat -------------- <foo/><bar/> (1 row) openGauss=# SELECT xmlconcat('<?xml version="1.1"?><foo/>', NULL, '<?xml version="1.1" standalone="no"?><bar/>'); xmlconcat ----------------------------------- <?xml version="1.1"?><foo/><bar/> (1 row)