openGauss数据库-头歌实验1-1 初识openGauss
一、历史与特性
任务描述
本关任务:了解openGauss的发展历史以及相关特性。
相关知识
为了完成本关任务,你需要掌握:1.openGauss的发展历程,2.openGauss的功能特性。
发展历程
2019年9月19日在华为全联接大会上,华为宣布将开源其数据库产品,开源后命名为openGauss。
2020 年6月30日openGauss数据库源代码正式开放。
2021年9月30日,openGauss 2.1.0版本正式上线。
产品简介
openGauss 是一款开源的,支持 SQL2003 标准语法,支持主备部署的高可用关系型(OLTP)数据库。
采用客户端/服务器、单进程多线程架构,支持单机和一主多备部署方式,备机只读,支持双机高可用和读扩展。
产品特点
openGauss 相比于其他开源数据库主要有以下几个主要特点:
1.高性能
提供了面向多核架构的并发控制技术结合鲲鹏硬件优化,在两路鲲鹏下 TPCC Benchmark 达成性能 150 万 tpmc 。
针对当前硬件多核 numa 的架构趋势, 在内核关键结构上采用了 Numa-Aware 的数据结构。
提供 Sql-bypass 智能快速引擎、融合引擎技术。
2.高可用
支持主备同步、异步和级联备机多种部署模式。
数据页 CRC 校验,损坏数据页通过备机自动修复。
备机并行恢复,10 秒内可升主提供服务。
3.高安全
支持全密态计算、访问控制、加密认证、数据库审计和动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。
4.易运维
基于 AI 的智能参数调优和索引推荐,提供 AI 自动参数推荐。
慢 SQL 诊断,多维性能自监控视图,实时掌控系统的性能表现。
提供在线自学习的 SQL 时间预测。
5.全开放
采用木兰宽松许可证协议,允许对代码自由修改、使用和引用。
数据库内核能力全开放。
提供丰富的伙伴认证,培训体系和高校课程。
编程要求
经过本关的学习,你已经对 openGauss 的历史和特性有了一定的认识。请完成右边的相关选择题测验任务,以检验你的认识是否准确吧。
答案

二、安装与连接
任务描述
本关任务:完成对 openGauss 数据库管理系统的特定连接要求。
相关知识
为了完成本关任务,你需要掌握:1. openGauss 的安装,2.openGauss 的连接。
安装 openGauss
openGauss支持单机部署和单机HA部署两种部署方式。单机部署时,可在一个主机部署多个数据库实例,但为了数据安全,不建议用户这样部署。单机HA部署支持一台主机和最少一台备机,备机一共最多8台的配置方式。
连接数据库
可以使用openGauss自带的 gsql (openGauss交互终端)连接数据库。
gsql 是 openGauss 提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。
因为 openGauss 不建议使用root账户管理数据库,所以首先切换到 omm 用户:
su - omm
命令行显示如下信息,表示当前使用系统的用户为 omm :

常用的 gsql 连接数据库的指令格式有:
gsql -d <数据库名称> -p <端口号>gsql -d <数据库名称> -U <用户名称> -W '数据库密码';
数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
执行以下命令以连接到postgres 数据库:
gsql -d postgres -p 5432
其中 postgres为需要连接的数据库名称,5432为数据库主节点的端口号。
连接成功后提示如下信息:

omm 用户是管理员用户,因此系统显示DBNAME=#。若使用普通用户身份登录和连接数据库,系统显示DBNAME=>。
“Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,就使用SSL连接。
登录数据库后可以进行修改密码等操作。例如将 abc 用户的密码从Mypwd123修改为Test@2021,命令如下:
ALTER ROLE abc IDENTIFIED BY 'Test@2021' REPLACE 'Mypwd123';
退出数据库的命令为\q:

本节只介绍如何使用gsql连接数据库,有关 gsql 的更多内容可以参考 gsql 使用指南。
编程要求
根据介绍,在命令行中使用用户omm登录postgres数据库,密码为passwd123@123。
登陆后将gaussdb用户的密码修改为Mypassword@123。
编程实现
三、常用交互操作
任务描述
本关任务:学习 openGauss 数据库常用的交互操作。
相关知识
为了完成本关任务,你需要掌握:1.openGauss 数据库的常用操作,2.对数据库和数据表的常用操作。
连接数据库
上一关中介绍了利用 gsql 连接 openGauss 数据库的方法,本关中使用 omm 用户连接到数据库。
1.首先切换到操作系统的 omm 用户:
su - omm
2.连接到 postgres 数据库:
gsql -d postgres -p 5432
3.创建数据库用户
openGauss 默认只有安装时创建的管理员用户可以访问初始数据库,还可以创建其他数据库用户账号访问数据库。
可以通过如下命令创建一个用户名为 joe,密码为 Bigdata@123 的用户:
CREATE USER joe WITH PASSWORD "Bigdata@123";
创建成功后提示如下信息:

4.创建数据库
使用如下命令创建一个属于用户 joe 的数据库 db_tpcc:
CREATE DATABASE db_tpcc OWNER joe;
结果显示为以下信息时表示创建成功:

5.切换用户
db_tpcc 数据库创建完成后,退出数据库,使用新用户 joe 连接到 db_tpcc 执行以后的操作(也可以选择继续在默认数据库中进行后续的体验):

6.创建 schema
执行如下语句创建 schema:
CREATE SCHEMA joe AUTHORIZATION joe;
提示如下信息表示创建成功:

7.创建表
使用如下命令创建一个名称为 mytable, 只有一列的表。
CREATE TABLE mytable(firstcol int);
其中字段名称为 firstcol,字段类型为 integer。
显示如下信息时表示创建成功:

8.执行如下语句向表中插入数据:
INSERT INTO mytable values(100);
结果显示为如下信息时表示插入数据成功:

9.查看表中数据
执行以下语句查看 mytable 表中的数据:
SELECT * FROM mytable;
可以看到刚刚插入的数据:

10.常用的交互操作
1.使用\l命令可以列表查看当前所有数据库的信息:

2.使用\d命令可以查看当前数据表的信息:

3.使用\c命令可以切换数据库:

4.输入\?指令可以查看 openGauss 支持的所有快捷命令及其说明。
编程要求
根据提示,在右侧命令行进行操作,创建用户jackson,密码为jackson@123并使用该用户创建数据库userdb,在该数据库中创建只有一列的数据表userinfo。
编程实现

相关文章:
openGauss数据库-头歌实验1-1 初识openGauss
一、历史与特性 任务描述 本关任务:了解openGauss的发展历史以及相关特性。 相关知识 为了完成本关任务,你需要掌握:1.openGauss的发展历程,2.openGauss的功能特性。 发展历程 2019年9月19日在华为全联接大会上,…...
QT找不到ffmpeg链接库解决方法
error: undefined reference to avformat_network_init() 一个神奇的报错,查了很久,检查步骤: 1、检查了 pro工程文件 2、链接库的真实性和正确性 在main.cpp中调用没有报错,在其它cpp文件中调用就报错。 破案了,…...
消息队列-Rabbitmq(消息发送,消息接收)
将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不…...
2、顶点着色器之视图矩阵
1、作用:将物体从世界坐标系转换到相机坐标系,相当于从世界坐标系转换到相机的局部(本地)坐标系。 2、基于LookAt函数的视图矩阵: 相机位置eye:(ex,ey,ez),世界坐标系下的位置 目标位置center:(cx,cy,cz…...
crontab实现2026年开始每个月1号执行一次
要在 crontab 中设置一个任务,使其从 2026 年开始每个月的 1 号执行一次,可以使用以下格式: 0 0 1 * * <你的命令>这条规则的解释如下: 0 0:表示在每个月的 1 号的零点(00:00)执行。1&a…...
计算机网络803-(5)运输层
目录 一.运输层的两个主要协议:TCP 与 UDP 1.TCP/IP 的运输层有两个不同的协议: 2.端口号(protocol port number) (1)软件端口与硬件端口 (2)TCP 的端口 (3)三类端口 二.用户…...
八 MyBatis中接口代理机制及使用
八、MyBatis中接口代理机制及使用 实际上,第七章所讲内容mybatis内部已经实现了。直接调用以下代码即可获取dao接口的代理类: AccountDao accountDao (AccountDao)sqlSession.getMapper(AccountDao.class);使用以上代码的前提是:AccountMa…...
【解决】Ubuntu18.04 卸载python之后桌面异常且终端无法打开,重启后进入tty1,没有图形化界面
我因为python版本太过于混乱 (都是为了学习os) ,3.6—3.9版本我都安装了,指向关系也很混乱,本着“重装是最不会乱”的原则,我把全部版本都卸载了。然后装了3.9 发现终端打不开了,火狐浏览器的图…...
OpenEmbedded、yocto和poky是什么关系?
Yocto项目是基于OpenEmbedded构建系统发展而来的。Yocto采用了OpenEmbedded的许多核心概念和工具,比如BitBake构建工具。BitBake在这两个系统中都是用于解析和处理recipes文件,这些recipes文件包含了软件包构建的指令、依赖关系、安装步骤等内容。 它们…...
记录页面——一个蛮好看的登录页(uni-app)
效果图 <template><view class"container"><view class"flex-col login-box"><view class"flex-col" style"width: 80%"><view class"flex-col"><text class"welcome-text-font&qu…...
Android文件选择器[超级轻量级FilePicker测试没有问题][挣扎解决自带文件管理器获取不到绝对地址问题而是返回msf%3A1000038197]
超级轻量级FilePicker测试没有问题 本文摘录于:https://blog.csdn.net/gitblog_00365/article/details/141449437只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 今天真的是发了疯的找文件管理器,因为调用系统自带的文件管理…...
【论文速读】| RED QUEEN: 保护大语言模型免受隐蔽多轮越狱攻击
基本信息 原文标题:RED QUEEN: Safeguarding Large Language Models against Concealed Multi-Turn Jailbreaking 原文作者:Yifan Jiang, Kriti Aggarwal, Tanmay Laud, Kashif Munir, Jay Pujara, Subhabrata Mukherjee 作者单位:Hippocr…...
39.第二阶段x86游戏实战2-HOOK实现主线程调用
免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 本人写的内容纯属胡编乱造,全都是合成造假,仅仅只是为了娱乐,请不要…...
wordpress argon主题美化方面
1、页面前端额外CSS: /*字体*/ font-face {font-family: myFont1; src:url(https://blog.yangmumu.com/css/fonts/Dancing.ttf) ;font-display: swap; } font-face {font-family: myFont2; src:url(https://blog.yangmumu.com/css/fonts/Regular.ttf) ;font-displa…...
qt QRadioButton详解
QRadioButton 是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选按钮通常呈现给用户一个“多选一”的选择,即在一组单选按钮中,一次只能选中一个按钮。 重要方法 QRadioButton(QWidget…...
Qt 最小化,最大化,关闭窗口
Qt 最小化,最大化 在Qt中,你可以使用QWidget类提供的方法来实现窗口的最小化、最大化等操作。 最小化窗口 你可以使用QWidget的showMinimized()方法来最小化窗口。这将隐藏窗口并将其显示为系统托盘区域的图标。 connect(ui->btnMin,&QPushButton::click…...
【vue项目中添加告警音频提示音】
一、前提: 由于浏览器限制不能自动触发音频文件播放,所以实现此类功能时,需要添加触发事件,举例如下: 1、页面添加打开告警声音开关按钮 2、首次进入页面时添加交互弹窗提示:是否允许播放音频 以上两种方…...
百度SEO分析实用指南 提升网站搜索排名的有效策略
内容概要 在数字化时代,搜索引擎优化(SEO)已经成为提升网站曝光度的关键工具。本指南将带您了解SEO的基本知识,帮助您在复杂的网络环境中立足。我们将从关键词优化开始,重点讲解如何选择合适的关键词来提高搜索引擎排…...
高并发场景下的性能测试方法!
在现代互联网应用中,高并发场景下的性能测试显得尤为重要。无论是电商平台的秒杀活动,还是社交应用的突发流量,都需要确保系统能够在高并发情况下稳定运行。本文将详细介绍高并发场景下的性能测试方法,并提供具体的方案和实战演练…...
杂项——USB键盘与鼠标流量分析——BUUCTF——流量分析
第一次做USB键盘与鼠标流量分析的题目,现在来好好做一个总结 1. 基础知识 USB流量指的是USB设备接口的流量,攻击者能够通过监听usb接口流量获取键盘敲击键、鼠标移动与点击、存储设备的铭文传输通信、USB无线网卡网络传输内容等等。 在正式介绍 USB H…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

