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…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...