---
title: openGauss数据库源码解析系列文章——openGauss开发快速入门（上）-官方技术文章-鲲鹏社区
description: 作为openGauss数据库开发者，在基于开源社区的openGauss版本进行二次开发的过程中，需要完成软件包获取、源码了解、代码修改、编译发布等过程，同时还需要安装数据库以了解数据库的基本特点、验证开发的功能实现情况，本篇将简要介绍openGauss的安装部署方法。
keywords: Gauss,数据库源码解,析系列文章,开发快速入门,官方技术文章,鲲鹏社区,安装部署,了解安装流程
url: https://www.hikunpeng.com/developer/techArticles/20251204-3?envFlag=1
section: (其他)
---

# openGauss数据库源码解析系列文章——openGauss开发快速入门（上）-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20251204-3?envFlag=1
描述: 作为openGauss数据库开发者，在基于开源社区的openGauss版本进行二次开发的过程中，需要完成软件包获取、源码了解、代码修改、编译发布等过程，同时还需要安装数据库以了解数据库的基本特点、验证开发的功能实现情况，本篇将简要介绍openGauss的安装部署方法。
关键词: Gauss,数据库源码解,析系列文章,开发快速入门,官方技术文章,鲲鹏社区,安装部署,了解安装流程

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

openGauss数据库源码解析系列文章——openGauss开发快速入门（上）

openGauss数据库源码解析系列文章——openGauss开发快速入门（上）

openGauss

发表于 2025/12/04

0

## 一、 安装部署

作为openGauss数据库开发者，除了基于openGauss开源产品进行二次开发外，往往也需要了解openGauss的特点和使用方法，同时验证所开发的功能的实现情况。本节向读者简要介绍openGauss的安装部署方法，详细的内容请参见openGauss官方社区（https://opengauss.org [了解详情](https://link.zhihu.com/?target=https%3A//opengauss.org)）。

### （一） 了解安装流程

本节通过流程图简要介绍openGauss的安装流程。openGauss的安装流程如图1所示。

图1 安装流程图

流程图说明如表1所示。

表 1 安装流程图说明

| 流程 | 说明 |
| --- | ---|
| 安装前准备 | openGauss安装前需要准备相应的软硬件环境以及相关操作系统配置。“2.1.2准备软硬件安装环境”章节提供了openGauss安装所需的最低要求，实际安装中，请用户根据实际情况进行规划 |
| 获取安装包 | 安装包需要在openGauss开源社区下载并且对安装包内容进行检查 |
| 配置XML文件 | 安装openGauss前需要创建XML文件。XML文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML文件 |
| 初始化安装环境 | 安装环境的初始化包含上传安装包和XML文件、解压安装包、使用gs_preinstall准备好安装环境 |
| 执行安装 | 使用gs_install安装openGauss |

（二） 准备软硬件安装环境

本篇介绍openGauss的软硬件环境要求。建议部署openGauss的各服务器具有等价的软硬件配置。

### 1. 硬件环境要求

表2列出了openGauss服务器应具备的最低硬件要求。在实际产品中，硬件配置的规划需要考虑数据规模及所期望的数据库响应速度。请根据实际情况进行规划。

表2 硬件环境要求

| 项目 | 配置描述 |
| --- | ---|
| 内存 | 功能调试建议32GB以上性能测试和商业部署时，单实例部署建议128GB以上复杂的查询对内存的需求量比较高，在高并发场景下，可能出现内存不足。此时建议使用大内存的机器，或使用负载管理限制系统的并发 |
| CPU | 功能调试最小需要1×8 核2.0GHz性能测试和商业部署时，单实例部署建议1×16核 2.0GHzCPU（central processing pnit，中央处理单元）超线程和非超线程两种模式都支持。但openGauss各节点的设置需保持一致注意：目前，openGauss仅支持鲲鹏服务器和基于x86_64通用PC服务器的CPU |
| 硬盘 | 用于安装openGauss的硬盘需最少满足如下要求。至少1GB用于安装openGauss的应用程序包每个主机需大约300MB用于数据存储预留70%以上的磁盘剩余空间用于数据存储建议系统盘配置为RAID1，数据盘配置为RAID5，且规划4组RAID5数据盘用于安装openGauss。有关RAID（redundant array of independent disks，独立磁盘冗余数组。一种把多块独立的硬盘按不同方式组合起来形成一个硬盘组，从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。组成磁盘阵列的不同方式成为RAID级别（RAID levels）。经过不断的发展，现在已拥有了从 RAID 0 到 6 七种基本的RAID级别）的配置方法请参考硬件厂家的手册或互联网上的方法进行配置，其中“Disk Cache Policy”项需要设置为“Disabled”，否则机器异常掉电后有数据丢失的风险openGauss支持使用SSD盘作为数据库的主存储设备，支持SAS（serial attached SCSI，串行连接的SCSI。一种SCSI 接口标准）接口和NVMe（non-volatile memory express，非易失性高速传输总线。一种主机控制器接口协议。）协议的SSD盘，以RAID的方式部署使用 |
| 网络要求 | 300兆以上以太网建议网卡设置为双网卡冗余bond。有关网卡冗余bond的配置方法请参考硬件厂商的手册或互联网上的方法进行配置openGauss网络如果配置bond，请保证bond模式一致，不一致的bond配置可能导致openGauss工作异常 |

### 2. 软件环境要求

软件环境要求如表3所示。

表3 软件环境要求

### 3. 软件依赖要求

openGauss的软件依赖要求如表4所示。

依赖软件建议使用表3中操作系统安装光盘中的默认安装包。如果不存在默认安装包时，请参见表4查看软件对应的建议版本。

表4 软件依赖要求

### （三） 修改操作系统配置

### 1. 操作系统防火墙

openGauss目前仅支持在防火墙的状态下进行安装。下面以openEuler操作系统为例执行操作系统防火墙操作：

（1） 修改/etc/selinux/config文件中的“SELINUX”值为“disabled”。

① 使用vim命令打开config文件。

```text
vim /etc/selinux/config
```

② 修改“SELINUX”字段的值为“disabled”。

```text
SELINUX=disabled
```

（2） 重新启动操作系统。

```text
reboot
```

（3） 检查防火墙是否。

```text
systemctl status firewalld
```

若防火墙未，请执行步骤（4）；若防火墙已，则无须再防火墙。

（4） 检防火墙。

```text
systemctl disable firewalld.service 
systemctl stop firewalld.service
```

（5） 在其他主机上重复步骤（1）到（4）。

### 2. 设置字符集参数

将各数据库节点的字符集设置为相同的字符集，可以在/etc/profile文件中添加"export LANG=XXX"（XXX为Unicode编码）。

```text
vim /etc/profile
```

### 3. 设置时区和时间

在各数据库节点上，确保时区和时间一致。

（1） 执行如下命令检查各数据库节点时间和时区是否一致。如果各数据库节点时间和时区不一致区，请执行（2）、（3）。

```text
ll /etc/localtime   ##查看时区
date     ##查看时间
```

（2） 使用如下命令将各数据库节点“/usr/share/zoneinfo/”目录下的时区文件拷贝为“/etc/localtime”文件。

```text
cp /usr/share/zoneinfo/$地区/$时区 /etc/localtime
```

“$地区/$时区”为需要设置时区的信息，例如：Asia/Shanghai。

（3） 使用“date -s”命令将各数据库节点的时间设置为统一时间，举例如下。

```text
date -s Mon May 11 16:42:11 CST 2020
```

### 4. （可选）swap交换内存

在各数据库节点上，使用“swapoff -a”命令将交换内存。

```text
swapoff -a
```

### 5. RemoveIPC

在各数据库节点上，RemoveIPC。CentOS操作系统无该参数，可以跳过该步骤。

（1） 修改“/etc/systemd/logind.conf”文件中的“RemoveIPC”字段的值为“no”。

① 使用vim打开logind.conf文件。

```text
vim  /etc/systemd/logind.conf
```

② 修改“RemoveIPC”字段的值为“no”。

```text
RemoveIPC=no
```

（2） 修改“/usr/lib/systemd/system/systemd-logind.service”文件中的“RemoveIPC” 字段的值为“no”。

① 使用vim命令打开systemd-logind.service文件。

```text
vim /usr/lib/systemd/system/systemd-logind.service
```

② 修改“RemoveIPC”字段的值为“no”。

```text
RemoveIPC=no
```

（3） 重新加载配置参数。

```text
systemctl daemon-reload 
systemctl restart systemd-logind
```

（4） 检查修改是否生效。

```text
loginctl show-session | grep RemoveIPC 
systemctl show systemd-logind | grep RemoveIPC
```

（5） 在其他主机上重复步骤（1）到（4）。

### 6. 设置网卡MTU值

将各数据库节点的网卡MTU值设置为相同大小。

（1） 执行如下命令查询服务器的网卡编号。

```text
ifconfig
```

如下图2所示，如果服务器IP为10.244.53.173，则该服务器的网卡编号为eth0。

图2 查询网卡编号

（2） 使用如下命令将数据库各节点的网卡MTU（maximum transmission unit，最大传输单元。在网络中能够传输的最大数据报文）值设置为相同大小。对于x86，MTU值推荐1500；对于ARM，MTU值推荐8192。

```text
ifconfig 网卡编号 mtu 值
```

### （四） 设置root用户远程登录

在安装openGauss时需要root账户远程登录访问权限，本节介绍如何设置root用户远程登录。

（1） 修改PermitRootLogin配置，允许用户远程登录。

① 打开sshd_config文件。

```text
vim /etc/ssh/sshd_config
```

② 修改权限配置，可以使用以下两种方式实现：

注释掉“PermitRootLogin no”行。

```text
#PermitRootLogin no
```

或者将“PermitRootLogin”字段的值改为“yes”。

```text
PermitRootLogin yes
```

③ 执行:wq保存并退出编辑页面。

（2） 修改Banner配置，去掉连接到系统时系统提示的欢迎信息。欢迎信息会干扰安装时远程操作的返回结果，影响安装正常执行。

① 编辑sshd_config文件。

```text
vim /etc/ssh/sshd_config
```

② 修改Banner配置，注释掉“Banner”所在的行。

```text
#Banner XXXX
```

③ 执行:wq保存并退出编辑页面。

（3） 重启sshd使设置生效。

```text
systemctl restart sshd.service
```

（4） 以root用户身份重新登录。

```text
ssh xxx.xxx.xxx.xxx
```

为安装openGauss环境的IP。

### （五） 获取安装包

openGauss开源社区上提供了安装包的获取方式。

（1） 从openGauss开源社区（https://opengauss.org/zh/download.html [了解详情](https://link.zhihu.com/?target=https%3A//opengauss.org/zh/download.html%2522%2520%255Co%2520%2522%2520)）下载对应平台的安装包。如图3所示。

图3 开源网站openGauss Server页面

（2） 选择所需安装包单击“下载”。

（3） 解压下载后的压缩包。

```text
tar -zxvf openGauss-x.x.x-openEuler-64bit.tar -all.gz 
```

（4） 检查安装包。检查安装目录及文件是否齐全。在安装包所在目录执行以下命令：

```text
ls -1
```

ls命令显示类似如下信息。

```text
total 50M 

-rw------- 1 root root       65 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit-om.sha256
-rw------- 1 root root 12910775 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit-om.tar.gz
-rw------- 1 root root       65 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit.sha256
-rw------- 1 root root 73334256 Dec 25 15:34 openGauss-x.x.x-openEuler-64bit.tar.bz2
-rw------- 1 root root       65 Dec 25 15:34 upgrade_sql.sha256-rw------- 1 root root   134747 Dec 25 15:34 upgrade_sql.tar.gz
```

### （六） 创建XML配置文件

安装openGauss前需要创建cluster_config.xml文件。cluster_config.xml文件包含部署openGauss的服务器信息、安装路径、IP地址以及端口号等。用于告知openGauss如何部署。用户需根据不同场配置对应的XML（extensible markup language，可扩展标记语言）文件。

下面以一主一备的方案为例，说明如何创建XML配置文件。

### 1. 配置数据库名称及各项目录

在“script/gspylib/etc/conf/cluster_config_template.xml”获取模板。数据库名称和各项目录的配置项如下，加粗字体内容为示例，可自行替换。每行信息均有注释进行说明。

```text
<?xml version="1.0" encoding="UTF-8"?> 
<ROOT> 
  <!-- 整体信息 --> 
  <CLUSTER> 
  <!-- 数据库名称 --> 
    <PARAM name="clusterName" value="Cluster_template" />   
  <!-- 数据库节点名称(hostname) --> 
    <PARAM name="nodeNames" value="node1_hostname,node2_hostname" /> 
  <!-- 数据库安装目录--> 
    <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" /> 
  <!-- 日志目录--> 
    <PARAM name="gaussdbLogPath" value="/var/log/omm" /> 
  <!-- 临时文件目录--> 
    <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" /> 
  <!--数据库工具目录--> 
    <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" /> 
  <!--数据库core文件目录--> 
    <PARAM name="corePath" value="/opt/huawei/corefile"/> 
  <!-- 节点IP，与nodeNames一一对应 --> 
    <PARAM name="backIp1s" value="192.168.0.1,192.168.0.2"/> 
 
  </CLUSTER>
```

配置文件中参数说明请见表5。

表5 参数说明

配置数据库名称及各项目录时请注意如下事项。

（1） “/opt/huawei/install/om”目录存放互信等工具，具有特殊权限。为了避免权限冲突问题，不要将实例数据目录放在此目录下。

（2） 安装目录和数据目录需为空或者不存在，否则可能导致安装失败。

数据库节点的实例目录之间不相互耦合。即各个配置目录不关联，删除其中任意一个目录，不会级联删除其他目录。如gaussdbAppPath为"/opt/huawei/install/app"，gaussdbLogPath为"/opt/huawei/install/app/omm"。当gaussdbAppPath目录被删除时，会级联删除gaussdbLogPath目录，从而引起其他问题。

（3） 如果需要安装脚本自动创建安装用户时，配置的目录不能与系统创建的默认用户目录耦合关联。

（4） 配置openGauss路径和实例路径时，路径中不能包含这些引号中的特殊字符：“|;&$<>`\\'\"{}()[]~*?”。

### 2. 配置Host基本信息

每台Host服务器都必须有如下基本信息，加粗字体内容为示例，可自行替换。每行信息均有注释进行说明。

```text
<!-- 每台服务器上的节点部署信息 --> 
<DEVICELIST> 
<!-- node1上的节点部署信息 --> 
<DEVICE sn="node1_hostname"> 
<!-- node1的hostname --> 
<PARAM name="name" value="node1_hostname"/> 
<!-- node1所在的AZ（availability zone，可用区）及AZ优先级 --> 
<PARAM name="azName" value="AZ1"/> 
<PARAM name="azPriority" value="1"/> 
<!-- node1的IP，如果服务器只有一个网卡可用，将backIP1和sshIP1配置成同一个IP --> 
<PARAM name="backIp1" value="192.168.0.1"/> 
<PARAM name="sshIp1" value="192.168.0.1"/>
```

配置文件中的参数说明请参见表6。

表6 参数说明

配置文件中所有IP参数（包含backIp、sshIp、listenIp等）均只支持配置一个IP。如果配置第二个IP参数，则不会读取第二个参数的配置值。例如，XML配置文件中同时配置backIp1和backIp2参数，在解析配置文件时仅读取backIp1参数的配置值，不会读取backIp2参数的配置值。

```text
<PARAM name="backIp1" value="192.168.0.1"/> 
<PARAM name="backIp2" value="192.168.0.2"/>
```

### 3. 配置数据库主节点信息

数据库主节点需要配置以下信息，加粗字体内容为示例，可自行替换。每行信息均有注释进行说明。

```text
<!--DBnode--> 
<PARAM name="dataNum" value="1"/> 
<!--DBnode端口号--> 
<PARAM name="dataPortBase" value="15400"/> 
<!--DBnode主节点上数据目录，及备机数据目录--> 
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn,node2_hostname,/opt/huawei/install/data/dn"/> 
<!--DBnode节点上设定同步模式的节点数--> 
<PARAM name="dataNode1_syncNum" value="0"/>
```

代码中的参数说明请参见表7。

表7 参数说明

### 4. 一主一备配置文件示例

完整的一主一备XML配置文件请参见如下示例，可以直接拷贝使用，加粗字体内容为示例，可自行替换。

```text
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
    <!-- openGauss整体信息 -->
    <CLUSTER>
        <PARAM name="clusterName" value="Cluster_template" />
        <PARAM name="nodeNames" value="node1_hostname,node2_hostname" />
 
        <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
        <PARAM name="gaussdbLogPath" value="/var/log/omm" />
        <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp"/>
        <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
        <PARAM name="corePath" value="/opt/huawei/corefile"/>
        <PARAM name="backIp1s" value="192.168.0.1,192.168.0.2"/>
 
    </CLUSTER>
    <!-- 每台服务器上的节点部署信息 -->
    <DEVICELIST>
        <!-- node1上的节点部署信息 -->
        <DEVICE sn="node1_hostname">
            <PARAM name="name" value="node1_hostname"/>
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 如果服务器只有一个网卡可用，将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.0.1"/>
            <PARAM name="sshIp1" value="192.168.0.1"/>
 
  <!--dn-->
            <PARAM name="dataNum" value="1"/>
  <PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn,node2_hostname,/opt/huawei/install/data/dn"/>
            <PARAM name="dataNode1_syncNum" value="0"/>
        </DEVICE>

        <!-- node2上的节点部署信息，其中“name”的值配置为主机名称 -->
        <DEVICE sn="node2_hostname">
            <PARAM name="name" value="node2_hostname"/>
            <PARAM name="azName" value="AZ1"/>
            <PARAM name="azPriority" value="1"/>
            <!-- 如果服务器只有一个网卡可用，将backIP1和sshIP1配置成同一个IP -->
            <PARAM name="backIp1" value="192.168.0.2"/>
            <PARAM name="sshIp1" value="192.168.0.2"/>
</DEVICE>
    </DEVICELIST>
</ROOT>
```

### （七） 初始化安装环境

在执行openGauss安装前，为了后续能以最小权限进行安装以及openGauss管理操作，保证系统安全性，需要执行安装前置脚本gs_preinstall准备安装用户及环境。

安装前置脚本gs_preinstall可以协助用户自动完成如下的安装环境准备工作。

（1） 自动设置Linux内核参数以达到提高服务器负载能力的目的，这些参数直接影响数据库系统的运行状态。

（2） 自动将openGauss配置文件、安装包拷贝到openGauss主机的相同目录下。

（3） openGauss安装用户、用户组不存在时，自动创建安装用户以及用户组。

（4） 读取openGauss配置文件中的目录信息并创建，将目录权限授予安装用户。

### 1） 注意事项：

（1） 用户需要检查上层目录权限，保证安装用户对安装包和配置文件目录读写执行的权限。

（2） XML文件中各主机的名称与IP映射配置正确。

（3） 只能使用root用户执行gs_preinstall命令。

### 2） 操作步骤：

（1） 以root用户登录待安装openGauss的主机，并按规划创建存放安装包的目录并赋予用户该目录的读写权限。

```text
mkdir -p /opt/software/openGauss 
chmod 755 -R /opt/software
```

不建议将安装包的存放目录规划至openGauss用户的家目录或其子目录下，否则可能导致权限问题。

（2） 将安装包“openGauss-x.x.x-openEuler-64bit-all.tar.gz”和配置文件“cluster_config.xml”上传至（1）所创建的目录中。

（3） 在安装包所在的目录下，解压安装包。安装包解压后，会有OM安装包和Server安装包。继续解压OM安装包，会在/opt/software/openGauss路径下自动生成script子目录，并且在script目录下生成gs_preinstall等各种OM工具脚本。

```text
cd /opt/software/openGauss 
tar -zxvf openGauss-x.x.x-openEuler-64bit.tar-all.gz
```

（4） 进入工具脚本存放目录下。

```text
cd /opt/software/openGauss/script
```

（5） （可选）如果是openEuler的操作系统，执行如下命令打开performance.sh文件。

```text
vi /etc/profile.d/performance.sh
```

用#注释如下命令，然后键入“ESC”键进入指令模式，执行:wq保存并退出修改。

```text
sysctl -w vm.min_free_kbytes=112640 &> /dev/null
```

（6） 为确保成功安装，执行如下命令检查hostname文件内容与/etc/hostname文件中的主机名是否一致。

```text
hostname
cat /etc/hostname 
```

如果hostname与/etc/hostname中的主机名不一致，请执行如下命令打开/etc/hostname文件，将主机名改为一致。

```text
vi /etc/hostname
```

然后键入“ESC”键进入指令模式，执行:wq保存并退出修改。

（7）执行gs_preinstall命令准备安装环境。

执行过程中会自动创建root用户互信和openGauss用户互信。

```text
./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
```

其中，omm为数据库管理员（也是运行openGauss的操作系统用户），dbgrp为运行openGauss的操作系统用户的群组名称，“/opt/software/openGauss/cluster_config.xml”为openGauss配置文件路径。在执行过程中，用户根据提示选择是否创建互信，并输入root用户或openGauss用户的密码。

openGauss在安装过程中，需要在openGauss中的主机间执行命令，传送文件等操作。因此，在普通用户安装前需要确保互信是连通的。前置脚本中会先建立root用户间的互信，然后创建普通用户，并建立普通用户间的互信。

### （八） 执行安装

准备好openGauss安装环境之后，执行安装部署openGauss。

### 1） 前提条件：

（1） 已成功执行前置脚本gs_preinstall。

（2） 所有服务器操作系统和网络均正常运行。

（3） 用户需确保各个主机上的locale保持一致。

### 2） 操作步骤：

（1） 登录openGauss的主机，并切换至omm用户。

```text
su - omm
```

此处，omm为前置脚本gs_preinstall中-U参数指定的用户。执行安装时，必须以omm用户执行，否则执行脚本会报错。

（2） 使用gs_install安装openGauss。

```text
gs_install -X /opt/software/openGauss/cluster_config.xml
```

其中“/opt/software/openGauss/cluster_config.xml”为openGauss配置文件的路径。在执行过程中用户需要根据提示输入数据库的密码，密码具有一定的复杂度。为保证用户正常使用该数据库，请记住输入的数据库密码。

数据库的密码需要符合这些要求：最少包含8个字符；不能和用户名和当前密码（ALTER）相同，或和当前密码反序；至少包含大写字母（A-Z），小写字母（a-z），数字，非字母数字字符（限定为~!@#$%^&*()-_=+\|[{}];:,<.>/?）四类字符中的三类字符。

安装过程中会生成ssl证书，证书存放路径为“{gaussdbAppPath}/share/sslcert/om”，其中“{gaussdbAppPath}”为集群openGauss配置文件中指定的程序安装目录。

日志文件路径（安装openGauss时在XML文件中指定）下会生成两个日志文件：“gs_install-YYYY-MM-DD_HHMMSS.log”和“gs_local-YYYY-MM-DD_HHMMSS.log”。

openGauss支持字符集的多种写法：gbk/GBK、UTF-8/UTF8/uft8/utf-8和Latine1/latine1。安装时如果不指定字符集，默认字符集为SQL_ASCII，为简化和统一区域locale默认设置为C。如果想指定其他字符集和区域，请在安装时使用参数--gsinit-parameter="--locale=LOCALE"来指定，LOCALE为新数据库设置缺省的区域。例如用户要将数据库编码格式初始化为UTF-8，可以采用如下步骤。

### （1） 用locale -a |grep utf8命令查看系统支持UTF-8编码的区域。

```text
omm@linux:~>  locale -a|grep utf8
```

显示类似如下信息，其中en_US.utf8表示区域en_US支持UTF-8编码。

```text
...... 
en_SG.utf8
en_US.utf8
......
```

（2） 根据需要选择区域，如“en_US.utf8”，在初始化数据库时加入“--locale=en_US.utf8”选项进行安装。示例如下。

```text
gs_install -X /opt/software/openGauss/cluster_config.xml --gsinit-parameter="--locale=en_US.utf8"
```

### （九） 安装验证

通过openGauss提供的gs_om工具可以完成数据库状态检查。

### 1） 前提条件：

openGauss数据库已安装。

### 2） 操作步骤：

（1） 以omm用户身份登录服务器。

（2） 执行如下命令检查数据库状态是否正常，“cluster_state”显示“Normal”表示数据库可正常使用。

```text
gs_om -t status 
```

数据库安装完成后，默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

其中postgres为需要连接的数据库名称，26000为数据库主节点的端口号，即XML配置文件中的dataPortBase的值。请根据实际情况替换。

```text
gsql -d postgres -p 26000
```

连接成功后，系统显示类似如下信息表示数据库连接成功。

```text
gsql ((openGauss x.x.x build 290d125f) compiled at 2021-03-08 02:59:43 commit 2143 last mr 131
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
```

本篇图文简单介绍了openGauss版本进行二次开发过程中的第一步——openGauss的安装部署方法，下篇我们将接着介绍openGauss基本使用，敬请期待！
