OpenGauss3.0.0轻量级安装

OpenGauss轻量级安装

官网

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

安装网址

mkdir -p opengauss && cd opengauss
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.1/x86/openGauss-Lite-3.1.1-CentOS-x86_64.tar.gz
tar -zxvf openGauss-Lite-3.1.1-CentOS-x86_64.tar.gzsed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0
systemctl disable firewalld.service
systemctl stop firewalld.service

docker安装

version:  '3.0'
services:opengauss:image: enmotech/opengauss:3.0.0hostname: opengausscontainer_name: opengaussenvironment :GS_PASSWORD: Admin@123456restart: alwaysprivileged: trueuser: rootports:- 5432:5432volumes:- $PWD/openguass:/var/lib/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用户执行脚本,否则会遇到没有权限创建数据文件目录的问题

使用OpenGauss数据库

使用OpenGauss数据库

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

2 创建数据库

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

(1)查看表空间
openGauss=# \dbList of tablespacesName    | Owner | Location 
------------+-------+----------pg_default | omm   | pg_global  | omm   | 
(2 rows)
(2)查看数据库
# 查看数据库
openGauss=# \lList of databasesName    | 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/ommtemplate1 | 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 在数据库中创建表

(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=# \dList of relationsSchema |    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    | 张三   |    202    | 李四   |    303    | wangwu |    40
(3 rows)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/133385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视频集中存储/云存储EasyCVR启动后查询端口是否被占用出错,该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

Java面试题02

1.抽象类必须要有抽象方法吗&#xff1f; 不一定。抽象类可以包含抽象方法&#xff0c;也可以不包含。抽象方法是没有实际实现的方法&#xff0c;需要 在子类中被具体实现。如果一个类中包含了至少一个抽象方法&#xff0c;那么这个类必须声明为抽象类。 2.普通类和抽象类有哪…

2023年亚太杯APMCM数学建模大赛ABC题辅导及组队

2023年亚太杯APMCM数学建模大赛 ABC题 一元线性回归分析类 回归分析&#xff08;Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。   – 按涉及变量个数划分   • 一元回归分析   • 多元回归分析   – 按自变量和因变量之间关…

一种单总线串口通信的调试方法

单总线的优点&#xff1a; 节省IO口&#xff0c;发送时可以将单片机的RXD设置为普通IO进行软件模拟发送&#xff0c;发送完设置为串口接收。避免通信干扰&#xff0c;由于是通过IO口对三极管/MOS管进行拉高拉低&#xff0c;外部信号不易对IO口进行干扰&#xff0c;EMI&#xf…

Ubuntu20.0工作区(workspace)介绍,切换工作区方式和快捷键

Ubuntu20.0工作区&#xff08;workspace&#xff09;介绍&#xff0c;切换工作区方式和快捷键 先修改一下ubuntu截屏的快捷键查看工作区新建工作区工作区切换 先修改一下ubuntu截屏的快捷键 修改为 查看工作区 按下Super键&#xff08;即Windows键&#xff09;&#xff0c;可…

解决logstash插件logstash-outputs-mongodb一条数据失败后一直重复尝试

描述 从日志中读取数据时&#xff0c;有一条数据不符合规范&#xff0c;导致logstash读取数据插入时出错&#xff0c;而插件又无限尝试插入&#xff0c;导致堵塞。 解决方案 找到logstash文件夹目录&#xff0c;例如是&#xff1a;/data/logstash-7.3.2 cd /data/logstash-…

新手用mac电脑,对文件的疑问和gpt回应

macOs系统安装软件的疑问 所有问题mac系统文件结构我用mac安装软件&#xff0c;不用像windows一样创建文件夹吗只能安装到Applications文件夹吗安装程序的指南和提供的安装选项是什么软件安装在Applications下的/appName文件夹&#xff0c;它的所有数据都会在该文件夹吗如果卸载…

如何在搜索引擎中应用AI大语言模型,提高企业生产力?

人工智能尤其是大型语言模型的应用&#xff0c;重塑了我们与信息交互的方式&#xff0c;也为企业带来了重大的变革。将基于大模型的检索增强生成&#xff08;RAG&#xff09;集成到业务实践中&#xff0c;不仅是一种趋势&#xff0c;更是一种必要。它有助于实现数据驱动型决策&…

1.性能优化

概述 今日目标&#xff1a; 性能优化的终极目标是什么压力测试压力测试的指标 性能优化的终极目标是什么 用户体验 产品设计(非技术) 系统性能(快&#xff0c;3秒不能更久了) 后端&#xff1a;RT,TPS,并发数 影响因素01&#xff1a;数据库读写&#xff0c;RPC&#xff…

✔ ★【备战实习(面经+项目+算法)】 11.6 学习

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…

前端工程化(vue2)

一、环境准备 1.依赖环境&#xff1a;NodeJS 官网&#xff1a;Node.js 2.脚手架&#xff1a;Vue-cli 参考网址&#xff1a;安装 | Vue CLI 介绍&#xff1a;Vue-cli用于快速的生成一个Vue的项目模板。主要功能有&#xff1a;统一的目录结构&#xff0c;本地调试&#xff0…

【一、http】go的http基本请求方法

1、http的基本请求 package mainimport ("bytes""fmt""io""net/http""net/url" )func post(){r, err : http.Post("http://httpbin.org/post", "", nil)if err ! nil {fmt.Println("ss")}de…

嵌入式系统设计与应用---ARM指令集(学习笔记)

目录 本文图片截取自书本和老师的ppt 概述 指令格式 指令的条件码 ARM的寻址方式 立即寻址 寄存器寻址 寄存器间接寻址 寄存器移位寻址 变址寻址 多寄存器寻址 相对寻址 堆栈寻址 块复制寻址 ARM指令集简介 跳转指令 1.B指令 2.BL指令 数据处理指令 1.数据传…

大华同轴电缆低时延监控方案300ms

1.具体的方案如下&#xff1a; 同轴电缆可以最长支持500米&#xff0c;8路视频流&#xff0c;原始视频流 产品型号&#xff1a;DH-HAC-HFW2401M-I1 和 DH/HCVR7104HS-V6 京东的上宣称实时&#xff1a; 2.时延具体参数 找技术厂家咨询了具体的时延参数&#xff0c;厂家说无法…

SQL审计是什么意思?目的是什么?有什么好处?

很多刚入行的运维小伙伴对于SQL审计不是很了解&#xff0c;不知道其是什么意思&#xff1f;使用SQL审计的目的是什么&#xff1f;使用SQL审计的好处有哪些&#xff1f;这里我们大家就来一起聊聊&#xff0c;仅供参考哈&#xff01; SQL审计是什么意思&#xff1f; 【回答】&…

c语言中文件的定义

#include <stdio.h> /*文件的定义&#xff1a; * 磁盘文件&#xff1a;指一组相关数据的有序集合&#xff0c;通常存储在外部介质&#xff08;如磁盘&#xff09;上&#xff0c;使用时才调用内存。 * 设备文件&#xff1a;在操作系统中把每一个与主机相连的输入、输出设…

【LIUNX】修改hostname方法

【LIUNX】修改hostname方法 临时修改永久生效方法1方法2修改后立即生效方法方法1方法2 临时修改 hostname <new-hostname>永久生效 方法1 vi /etc/hostname方法2 hostnamectl set-hostname <newhostname>修改后立即生效方法 方法1 sysctl kernel.hostname$(c…

【Redis】String字符串类型-内部编码使用场景

文章目录 内部编码使用场景缓存功能计数功能共享会话手机验证码 内部编码 字符串类型的内部编码有3种&#xff1a; int&#xff1a;8个字节&#xff08;64位&#xff09;的⻓整型&#xff0c;存储整数embstr&#xff1a;压缩字符串&#xff0c;适用于表示较短的字符串raw&…

ClickHouse开发系列

一、 ClickHouse详解、安装教程_clickhouse源码安装 二、ClickHouse 语法详解_clickhouse讲解 三、ClickHouse SQL 操作语句详解 四、ClickHouse 高级教程—官方原版 五、ClickHouse主键索引最佳实践 六、MySQL与ClickHouse集成 七、ClickHouse 集成MongoDB、Re…

BSN专网+医疗保险:MediConCen与BSN达成战略合作,提升理赔效率

近日&#xff0c;领先的香港保险技术解决方案提供商MediConCen与区块链服务网络&#xff08;BSN&#xff09;宣布建立战略合作伙伴关系&#xff0c;MediConCen将基于BSN专网构建其保险理赔自动化平台。此次合作的重点是在医疗保险中简化住院和门诊病人的非现金保险理赔&#xf…