关于OpenGauss
OpenGauss是一款极致性能、安全、可靠的关系型(OLTP)开源数据库。采用协议“木兰宽松许可证”(Mulan PSL V2),用户可以自由复制、使用、修改、分发,不论修改与否。
OpenGauss支持多平台,标准SQL,拥有高性能,高可靠,灵活扩展等特性,是数据库二次开发的良好选择。
更多内容见:OpenGauss官网。
快速开始
前置
首先,我们需要准备一台或者多台虚机。本次演示我们准备一台2C4G的虚机,你可以选择大于等于这个规格的虚机进行试验。
创建用户和组
这里使用root用户登录。
我们对于OpenGauss的试验是基于omm:dbgroup(用户:组)来做的,所以我们需要首先创建用户和组。
# 创建组 groupadd dbgroup # 向组中添加用户 useradd -g dbgroup omm # 设置用户omm的密码为Gauss_234 passwd omm 复制代码
获取安装包
我们可以从这里下载OpenGauss Server安装包,个人学习建议使用极简版。
下载后,我们将安装包上传到服务器,然后创建工作目录,然后就可以开始进行解压安装操作了。
# 创建工作目录 mkdir -p /opt/software/openGauss # 修改目录权限 chown -R omm:dbgroup /opt/software # 上传OpenGauss安装包到/opt/software下 # 解压OpenGauss tar -jxf openGauss-x.x.x-openEuler-64bit.tar.bz2 -C /opt/software/openGauss 复制代码
开始安装
我们准备好上面的工作后,OpenGauss安装包已经被解压到了/opt/software/openGauss目录下,我们进入simpleInstall目录中,执行如下命令开始安装。
# 进入安装目录 cd /opt/software/openGauss/simpleInstall # 执行安装脚本并制定数据库初始密码 sh install.sh -w Gauss_234 复制代码
经过一系列的日志,我们的数据库会安装成功。最后系统会提示你是否需要创建demo数据库,我们选择yes即可。
检查安装结果
为了验证我们已经成功安装了OpenGauss,我们可以执行命令ps -ef | grep gauss
进行检查。
简单使用
登录数据库
gsql -d postgres 复制代码
如上,=#
代表管理员用户,普通用户以=>
标识。
数据库操作
查看数据库命令:\l
选择数据库命令:\c {数据库名}
创建数据库命令:CREATE DATABASE {数据库名};
删除数据库命令:DROP DATABASE {数据库名};
修改数据库命令:ALTER DATABASE database_name RENAME TO new_name;
数据表操作
创建表命令:
CREATE TABLE demo( name char(50), age integer ); 复制代码
在这里,如果你使用的是mobaxterm连接的服务器,可能会出现语法错误(syntax error)的情况,我是直接进入到vnc解决了这个问题。
查看数据表命令:\d
数据表插入数据命令:
insert into demo values( 'phyger', 18 ); 复制代码
查询数据命令:
SELECT * FROM demo; 复制代码
查看表结构命令:\d demo;
更新行数据命令:update demo set name='phygerNew' where name='phyger';
删除数据命令:delete from demo where age=19;
ORDER BY字句:
# 升序 select * from demo order by age ASC; # 降序 select * from demo order by age DESC; 复制代码
DISTINCT关键字:查询去重
假设数据库中有两个不同年龄的同名人,DISTINCT可以帮助我们将查询出来的重复数据唯一化(只保留查询到的第一行)
# name唯一查询 select distinct name from demo; # name唯一查询,携带age数据 select distinct name,age from demo; 复制代码
GROUP BY字句:分组查询
select name from demo group by name; 复制代码
将查询结果按照某一列的值进行分组,值相等的为一组。
HAVING子句:用于在分组的基础上筛选数据
select name from demo group by name having count(name) > 2; 复制代码
count(name)意为:以name分组且分组成员数大于1的分组,即phyger。
最后
以上我们简单介绍了OpenGauss的入门用法,更多关于开发、SDK等高级用法,可以查看官方文档。
作为国产数据库的代表产品,众多的国产数据库都在OpenGauss的基础上百花齐放,茁壮成长,也衷心祝福OpenGauss能够越来越好。
Q&A
Q1:OpenGauss部署提示current SEMMNI value is: 128
A1:我们需要在/etc/sysctl.conf中添加kernel.sem = 250 32000 100 999
,然后执行sysctl -p
使配置生效。