简单使用OpenGauss数据库

国产化开源数据库Opengauss介绍:Opengauss数据库的部署与使用 本文介绍了国产化数据库opengauss的部署方式和使用方法,openguass可以根据需要,下载企业版、极简版和轻量版。本文测试环境为Centos7.9,将软件包放置在服务器中后,即可根据文章中的内容进行部署。Opengauss中的SQL语句与mysql等数据库基本相同,但数据库的管理语句有不同。登录数据库需要使用gsql -d -U -r,创建新用户:create user with password '' ; 阅读详情

简单使用OpenGauss数据库

1 参考网站

# OpenGauss官网
https://opengauss.org/zh/

2 Docker安装OpenGauss

下载OpenGauss

docker pull enmotech/opengauss:3.0.0

安装OpenGauss

容器参数说明:

  • GS_PASSWORD:必须设置该参数,该参数设置了openGauss数据库的超级用户omm以及测试用户gaussdb的密码。openGauss安装时默认会创建omm超级用户,该用户名暂时无法修改。测试用户gaussdb是在entrypoint.sh中自定义创建的用户。openGauss镜像配置了本地信任机制,因此在容器内连接数据库无需密码,但是如果要从容器外部(其它主机或者其它容器)连接则必须要输入密码。
    openGauss的密码长度8个字符以上,必须同时包含大写字母、小写字母、数字、以及特殊符号(特殊符号仅包含“#?!@%^&*-”,并且“!&”需要用转义符“\”进行转义)。

  • GS_NODENAME:指定数据库节点名称,默认为gaussdb。

  • GS_USERNAME:指定数据库连接用户名,默认为gaussdb。

  • GS_PORT:指定数据库端口,默认为5432;

  • -u root:参数用于指定容器启动的时候以root用户执行脚本,否则会遇到没有权限创建数据文件目录的问题

docker run -itd --name opengauss \
--restart=always \
--privileged=true \
-e GS_PASSWORD=OpenGauss@123 \
-v /home/opengauss:/var/lib/opengauss \
-u root \
-p 5432:5432 \
enmotech/opengauss:3.0.0

3 使用OpenGauss数据库

3.1 连接数据库

(1)进入容器

# 进入容器
docker exec -it opengauss /bin/bash

# 切换“omm”用户,默认是“root”用户是不能使用的
su omm

(2)连接数据库

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

gsql -d postgres -p 5432

(3)连接成功

omm@9482536f66e7:/$ gsql -d postgres -p 5432
gsql ((openGauss 3.0.0 build 02c14696) compiled at 2022-04-01 18:12:34 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# 

🔸(4)创建新用户

注意:必须创建新用户,用于工具和应用的数据连接,默认的用户“omm”不能用于远程连接。

# 将会在postgres下创建用户ga_mason,在其他数据库下是无法删除此用户
openGauss=# CREATE USER ga_mason WITH Sysadmin IDENTIFIED BY 'OpenGauss@123';

# 给用户授权
openGauss=# GRANT SELECT,INSERT,UPDATE,DELETE ON ALL TABLES IN SCHEMA public TO ga_mason;
openGauss=# GRANT USAGE,SELECT ON ALL SEQUENCES IN SCHEMA ga_mason TO ga_mason;

# 查看用户列表
openGauss=# \du

# 查看用户ga_mason
openGauss=# \du ga_mason

# 删除用户
openGauss=# drop user ga_mason;

# 切换用户,需要输入密码
openGauss=# \c - ga_mason

3.2 创建数据库

数据库:表空间>数据库>表

(1)查看表空间

openGauss=# \db
      List of tablespaces
    Name    | Owner | Location 
------------+-------+----------
 pg_default | omm   | 
 pg_global  | omm   | 
(2 rows)

(2)查看数据库

# 查看数据库
openGauss=# \l
                         List of databases
   Name    | Owner | Encoding | Collate | Ctype | Access privileges 
-----------+-------+----------+---------+-------+-------------------
 omm       | omm   | UTF8     | C       | C     | 
 postgres  | omm   | UTF8     | C       | C     | 
 template0 | omm   | UTF8     | C       | C     | =c/omm           +
           |       |          |         |       | omm=CTc/omm
 template1 | omm   | UTF8     | C       | C     | =c/omm           +
           |       |          |         |       | omm=CTc/omm
(4 rows)

(3)创建数据库

  • 可以不创建表空间

  • 创建数据库对象时可以指定表空间;

  • 创建数据库对象时不指定表空间,相关的数据库对象会默认保存在PG_DEFAULT空间中。

# 创建新的表空间my_tbs;
openGauss=# CREATE TABLESPACE my_tbs RELATIVE LOCATION 'tablespace/my_tbs';

# 创建my_db数据库,指定表空间my_tbs
openGauss=# CREATE DATABASE my_db WITH TABLESPACE = my_tbs;

不指定表空间

openGauss=# CREATE DATABASE my_db;

删除数据库

openGauss=# DROP DATABASE my_db;

切换数据库

openGauss=# \c my_db

3.3 在数据库中创建表

(1)表的简单介绍

openGauss支持行列混合存储。行、列存储模型各有优劣,一般情况下,如果表的字段比较多(大宽表),查询中涉及到的列不多的情况下,适合列存储。如果表的字段个数比较少,查询大部分字段,那么选择行存储比较好。通常openGauss用于TP场景的数据库,默认使用行存储,仅对执行复杂查询且数据量大的AP场景时,才使用列存储。

行存表和列存表的选择

  1. 更新频繁程度:数据如果频繁更新,选择行存表。
  2. 插入频繁程度:频繁的少量插入,选择行存表。一次插入大批量数据,选择列存表。
  3. 表的列数:表的列数很多,选择列存表。
  4. 查询的列数:如果每次查询时,只涉及了表的少数(<50%总列数)几个列,选择列存表。
  5. 压缩率:列存表比行存表压缩率高。但高压缩率会消耗更多的CPU资源。
储模型优点缺点适用场景
行存数据被保存在一起。INSERT/UPDATE容易。选择(Selection)时即使只涉及某几列,所有数据也都会被读取。点查询(返回记录少,基于索引的简单查询)。增、删、改操作较多的场景。
列存查询时只有涉及到的列会被读取。投影(Projection)很高效。任何列都能作为索引。选择完成时,被选择的列要重新组装。INSERT/UPDATE比较麻烦。统计分析类查询(关联、分组操作较多的场景)。即席查询(查询条件不确定,行存表扫描难以使用索引)。

(2)行存表

先登录到自己创建的“my_db”数据库

gsql -d my_db -p 5432

默认创建表的类型。数据按行进行存储,即一行数据是连续存储。适用于对数据需要经常更新的场景。

# 创建表,注意尽量不要使用user等比较特殊的名称
my_db=# CREATE TABLE tb_user ( u_id CHAR(2), u_name VARCHAR2(40), u_age NUMBER );

# 删除表
my_db=# DROP TABLE tb_user;

(3)列存表

数据按列进行存储,即一列所有数据是连续存储的。单列查询IO小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询。

# 创建表
my_db=# CREATE TABLE tb_user_col ( u_id CHAR(2), u_name VARCHAR2(40), u_age NUMBER ) WITH (ORIENTATION = COLUMN);

# 删除表
my_db=# DROP TABLE tb_user_col;

(4)查看表

# 查看表
my_db=# \d
                              List of relations
 Schema |    Name     | Type  | Owner |               Storage                
--------+-------------+-------+-------+--------------------------------------
 public | tb_user     | table | omm   | {orientation=row,compression=no}
 public | tb_user_col | table | omm   | {orientation=column,compression=low}
(2 rows)

# 查看表的字段信息
my_db=# \d+ tb_user

# 查看表的基本信息
my_db=# \dt+ tb_user

(5)插入数据

# 插入数据
my_db=# INSERT INTO tb_user (u_id, u_name, u_age) VALUES (1, '张三', 20), (2, '李四', 30), (3, 'wangwu', 40);
INSERT 0 3

(6)查询数据

my_db=# SELECT * FROM tb_user;
 u_id | u_name | u_age 
------+--------+-------
 1    | 张三   |    20
 2    | 李四   |    30
 3    | wangwu |    40
(3 rows)

4 工具连接OpenGauss

4.1 下载软件包

下载Data Studio安装包,解压

# 需要登录才能下载
https://www.opengauss.org/zh/download/

# 不登录可以使用下面的方式下载(注意下载的版本,低版本可能会出问题)
https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.0/DataStudio_win_64.zip

在这里插入图片描述

4.2 连接数据库

(1)创建连接

在这里插入图片描述

(2)配置连接数据

⚠️ 账号和密码参考上面”3.1 连接数据库“中的“创建新用户”,数据库“postgres”是OpenGauss默认的数据库,可以连接自定应数据库;

名称:mygauss-conn
主机名:192.168.108.200
端口号:5432
数据库:postgres
用户名:ga_mason
密码:OpenGauss@123

在这里插入图片描述

(3)连接成功

在这里插入图片描述

4.3 创建数据表

(1)在“普通表”上右键

在这里插入图片描述

(2)设置数据表名

可根据自己需要设置相关的配置信息

在这里插入图片描述

(3)设置字段信息

在这里插入图片描述

(4)其他

下面的步骤可根据自己的需求进行配置,点击“完成”。

在这里插入图片描述

(5)创建成功

在这里插入图片描述

4.4 使用gsql查看创建的数据表

# 切换用户
su omm

# 登录OpenGauss数据库
gsql -d postgres -p 5432

# 查看数据表,发现没有数据
openGauss=# \d
No relations found.

# 切换到ga_mason用户,输入密码“OpenGauss@123”
openGauss=# \c - ga_mason
Password for user ga_mason: 
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "postgres" as user "ga_mason".

# 再次查看数据表,此时数据表已存在
openGauss=> \d
                            List of relations
  Schema  |  Name   | Type  |  Owner   |             Storage              
----------+---------+-------+----------+----------------------------------
 ga_mason | tb_user | table | ga_mason | {orientation=row,compression=no}
(1 row)


# 查看表详细信息
openGauss=> \d tb_user;
          Table "ga_mason.tb_user"
 Column |         Type          | Modifiers 
--------+-----------------------+-----------
 u_id   | integer               | 
 u_name | character varying(20) | 
 u_age  | integer        
第一章 openGaussDB数据库介绍 openGauss是由华为公司开发的一款开源关系型数据库管理系统,它是基于PostgreSQL数据库开发的,并兼容标准的SQL语法。openGauss具有高可靠性、高性能和高可扩展性的特点,适用于企业级应用场景。 阅读详情

相关推荐

openGauss学习笔记-09 openGauss 简单数据管理-创建数据库

数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。

超哥的博客 1240

openGauss学习笔记- - -初始与使用技巧

目录0 告诉读者1 初始openGauss1.1 openGauss概述:1.2 应用场景2 openGauss使用技巧openGauss数据库常用操作命令2.1以操作系统用户omm登录数据库主节点2.2常用SQL语言:openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构;支持单机和一主多备部署方式,同时支持备机可读、双机高可用等特性。openGauss内核源自PostgreSQL,并着重在架构、事务、存储引擎、优化器等方向持续构建竞争力特性,在ARM架构的芯片上深度优化,并兼容X86架

退役复学在校大学生,目光所至,皆为华夏 2万+

openGauss学习笔记-87 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用简单概述

openGauss允许应用程序使用MOT和基于标准磁盘的表。MOT适用于最活跃、高竞争和对吞吐量敏感的应用程序表,也可用于所有应用程序的表。

超哥的博客 748

数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。

创建数据库并不会选择使用它。您需要明确的指定使用新创建的数据库。使用 “\c + 数据库名” 来进入db_tpcc数据库。数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。使用 “\c + 数据库名” 进入已存在数据库。将db_tpcc数据库名称修改为tpcc。使用“\l”用于查看已经存在的数据库。使用“\l”用于查看已经存在的数据库。切换数据库为postgres数据库。要创建、修改或者删除的数据库名称。创建一个新的数据库db_tpcc。删除数据库tpcc。

Oliviahome的博客 498

百度贴吧爬虫实战:完整实现与使用指南

使用 csv 模块创建写入器,首先写入表头("标题" 和 "链接"),然后遍历帖子字典,将每个标题和链接作为一行写入文件。首先检查内容是否为空,然后通过查找 JSON 结构的起始({)和结束(})位置,提取有效的 JSON 片段。接着遍历帖子列表中的每个条目,提取标题文本和对应的链接,对于相对路径的链接会自动补全为完整的 URL。从 JSON 提取标题和链接此方法专门用于从解析后的 JSON 数据中提取帖子标题和对应的链接。提取到的标题和链接以字典形式返回,键为标题,值为对应的完整链接。

qq_63736560的博客 2016

RIGOL DS1102E示波器新手必看:从开机到捕获第一个波形的5分钟指南

本文为RIGOL DS1102E示波器新手提供了一份快速上手指南。内容涵盖从开机、探头校准到捕获第一个波形的完整流程,重点解析了触发设置、自动测量等核心操作,并指出了探头衰减比设置等常见误区,帮助用户快速掌握这款经典数字示波器的基本使用方法。

dream的博客 740

openGauss示例

创建一个新的数据库db_tpcc。

Oliviahome的博客 212

python实现ECMS算法

ECMS(Equivalent Consumption Minimization Strategy)算法是一种用于混合动力汽车能量管理系统的优化策略。它通过计算等效油耗来平衡电池电量消耗和燃油消耗,从而优化整体能耗。以下是一个简单的Python实现,用于演示ECMS算法的基本思想。这个实现假设了一个简单的混合动力汽车模型,其中电池电量和燃油消耗是主要的优化目标。

weixin_45570158的博客 922

openGauss简单数据库管理:创建数据库

创建数据库并不会选择使用它。您需要明确的指定使用新创建的数据库。使用 “\c + 数据库名” 来进入db_tpcc数据库。数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。使用 “\c + 数据库名” 进入已存在数据库。将db_tpcc数据库名称修改为tpcc。使用“\l”用于查看已经存在的数据库。使用“\l”用于查看已经存在的数据库。切换数据库为postgres数据库。要创建、修改或者删除的数据库名称。创建一个新的数据库db_tpcc。删除数据库tpcc。

weixin_53596073的博客 600

LauterBach使用教程

(也就是服务器上编译时候的路径一模一样的路径,选中到工程目录就可以)4.选择自己板子对应的cpu(可以直接界面选择也可以命令行的方式)(cpu里的system setting),我们板子需要sys复位,所以选择sys。注:一般情况下运行状态不可以修改外设寄存器的值,但是可以通过修改配置来修改为运行时可修改(cpu寄存器则不可以)(修改这个配置,运行时也可以查看代码)注意:lauterbach可以使用命令来操作,但是由于本人刚刚使用,目前基本上使用的都是界面的按钮,以后会陆续学习命令行指令和脚本的方式。

wacebb的博客 1万+

【NTN 卫星通信】使用地面网络和卫星网络接入的终端应用场景

卫星接入有广覆盖的特点, 可以改善地面接入网覆盖或无线条件差的地区(例如多径干扰)的服务可用性。对于高速移动中需要实时业务的终端,如IMS语音/视频会议,可以通过地面接入和卫星接入同时实现与5G系统的双连接,在地面接入网不可用的情况下获得连续可靠的业务。

weixin_43603524的博客 2558

openGauss简单数据库管理:查看对象

gsql工具提供了若干高级特性,便于用户使用。例如,将postgres数据库切换为数据库dp_tpcc。例如,查看表customer_t1的表结构。例如,查询ABORT的所有语法。查询当前数据库中的所有表。

weixin_53596073的博客 695

【AI智能体】图像处理-生成营销 Banner 图

生成营销 Banner 图是一款用于制作营销图片的智能体,它可以根据指定的营销活动内容,快速生成活动 Banner 图片,降低活动运营成本、提高制图效率。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1175

ubuntu中如何用docker下载华为opengauss数据库(超简单)

openGauss是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。同时,openGauss也是一个开源、免费的数据库平台,鼓励社区贡献、合作。OpenGauss安装可以选择以下二种方式。方式一。

haobabiu的博客 5799

RK3568平台(camera篇) MPP编码

同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的。mpi_enc_test 的命令参数中,图像宽度(w)图像高度(h),码流类型(t)为强制要求参数,其他参。视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)数如输入文件(i),输出文件(o),编码帧数(n)等为可选参数。设置一些MPP的模式。

weixin_49303682的博客 7379

YOLO11改进|注意力机制篇|引入MLCA轻量级注意力机制

YOLO11中添加MLCA轻量级注意力机制

A1983Z的博客 4055

业务系统从Oracle迁移到openGauss数据库的简单记录

由于世界风云变幻,无论是国家、客户、还是我们自己。都希望自研软件系统的数据库能够自主可控,最好还是开源的……哎……

Shion's bla bla blog 4203

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【openGauss简单使用】---创建用户和授权、创建数据库、创建SCHEMA、创建表

创建数据库用户和授权、创建数据库、表、SCHEMA。【openGauss简单使用】------快速入门

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 2万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

openGauss简单数据库管理:UPDATE语句

用户可以更新单独一行,所有行或者指定的部分行。UPDATE修改满足条件的所有行中指定的字段值,WHERE子句声明条件,SET子句指定的字段会被修改,没有出现的字段则保持它们的原值。这里的表名称也可以使用模式名修饰,否则会从默认的模式路径找到这个表。新的字段值不仅可以是常量,也可以是变量表达式。在SET子句中的等号是一个赋值,而在WHERE子句中的等号是比较。在这里省略了WHERE子句,表示表中的所有行都要被更新。如果出现了WHERE子句,那么只有匹配其条件的行才会被更新。要更新的表名,可以使用模式修饰。

weixin_53596073的博客 522

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

openGauss简单数据库管理:创建表

执行如下命令创建一个表,表名为customer_t1,表字段为c_customer_sk 、c_customer_id、c_first_name和c_last_name,每个表字段对应的数据类型为integer、char(5)、char(6)和char(8)。在当前数据库中创建一个新的空白表,该表由命令执行者所有。在不同的数据库中可以存放相同的表。您可以使用CREATE TABLE语句创建表。当结果显示为如下信息,则表示创建成功。新表中要创建的字段名。

weixin_53596073的博客 522

openGauss简单数据库管理:WHERE子句

WHERE子句构成一个行选择表达式,用于指定条件而获取的数据,如果给定的条件满足,才返回从表中的具体数值。在WHERE子句中可以使用比较运算符或逻辑运算符,例如 >, <, =, LIKE, NOT 等等。找到c_customer_sk大于6985或者c_customer_id为hello的行。找到c_customer_id为hello且c_customer_sk为3869的行。找到customer_t1中c_last_name字段不为空的行。找到c_customer_sk在4000和9000之间的行。

weixin_53596073的博客 334

openGauss 简单数据库管理

简单数据库管理 创建数据库 创建表 INSERT INTO语句 UPDATE语句 DELETE语句 查看对象 SELECT语句 运算符 表达式 WHERE子句 ORDER BY子句 DISTINCT GROUP BY子句 HAVING子句 时间/日期函数和操作符 模式匹配操作符 聚集函数

151

openGauss简单数据库管理:ORDER BY子句

ORDER BY对对SELECT语句检索得到的一列或者多列数据进行升序(ASC)或者降序(DESC)排列。对SELECT语句检索得到的数据进行升序或降序排序。对结果根据c_customer_sk字段值进行升序排列。对结果根据c_customer_sk字段值进行降序排列。

weixin_53596073的博客 702

openGauss简单数据库管理:时间/日期函数和操作符

在ISO定义里,一月的头几天可能是前一年的第52或者第53周,十二月的后几天可能是下一年第一周。比如,2005-01-01是2004年的第53周,而2006-01-01是2005年的第52周,2012-12-31是2013年的第一周。timestamp类型:abstime、date、interval、reltime、time with time zone、time without time zone、timestamp with time zone、timestamp without time zone。

weixin_53596073的博客 1422

OpenGauss中循环语句

opengauss5.0中循环语句的简单介绍

zxrhhm的博客 958

通过几个基本概念说一下为什么openGauss是当下之选?

Database、Schema、User都是数据库的基本概念,SQL标准中也有明确规范。但不同数据库的具体实现也不尽相同,有些甚至大相径庭。这就导致用户在做国产化选型和数据库迁移时可能会遇到种种困难。本文从这几个基本概念展开,说说为什么openGauss系数据库是国产数据库替换的当下之选。

Gauss松鼠会 3475
上一篇: Docker安装Nacos
下一篇: SpringBoot连接OpenGauss数据库
MasonYyp
博客等级 码龄9年 301粉丝 297原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值