全面适配 | 走近openGauss数据库+鲲鹏欧拉操作系统
引入
全面适配 | openEuler操作系统 + openGauss数据库

开篇
1、openEuler欧拉操作系统

百度百科:openEuler是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质发展新趋势,创新分布式、实时加速引擎和基础服务,结合边缘、嵌入式领域竞争力探索,打造全场景协同的面向数字基础设施的开源操作系统。
2、openGauss数据库
百度百科:openGauss 是一款全面友好开放,携手伙伴共同打造的企业级开源关系型数据库。openGauss采用木兰宽松许可证v2发行,提供面向多核架构的极致性能、全链路的业务、数据安全、基于AI的调优和高效运维的能力。openGauss深度融合华为在数据库领域多年的研发经验,结合企业级场景需求,持续构建竞争力特性。同时,openGauss也是一个开源、免费的数据库平台,鼓励社区贡献、合作。
实战
这里,我们来记录一次在欧拉操作系统上,进行openGauss数据库基本操作总结:
1、版本选取

2、安装部署
【我和openGauss的故事】记一次基于在鲲鹏欧拉操作系统上openGauss实践过程
【我和openGauss的故事】记一次基于在银河麒麟系统上适配openGauss进阶之旅
3、基本操作
首先,我们进入数据库gsql命令行界面,测试数据库连接是否正常
gsql -d postgres -p port
查看数据库系统的数据库列表
\l

从上面,我们可以看到databases,分别有postgres、template0、template1…
接下来,我们来创建一个普通账户所属下的数据库,用于我们在数据库客户端连接管理工具连接。
切换到我们之前创建的数据库
\c db_tpcc

(注:openGauss安装时创建的管omm用户-可访问初始数据库)
创建用户
CREATE USER yd WITH PASSWORD "DayKnowApply@123";

用户授权
alter user yd sysadmin;

创建数据库
CREATE DATABASE db_know OWNER yd;

退出当前数据库,通过gsql命令行工具-新用户连接到创建的数据库
gsql -d db_know -p 26000 -U yd -W DayKnowApply@123 -r

创建SCHEMA
CREATE SCHEMA yd AUTHORIZATION yd;

创建表
CREATE TABLE know_center (firstcol int);

插入VS查询
INSERT INTO know_center values (1);
SELECT * from know_center;

然后,那如何在数据库客户端连接工具去可视化管理我们的数据库?

当然,新建连接-输入IP、PORT、DB、USER信息就可以进行可视化管理了,包括我们最常见的SQL增删改查命令,熟悉gsql的命令行工具那也是一样的操作><

当我们需要进行数据库重新启动,则可以重启服务
gs_om -t restart
查看进程
ps ux | grep gaussdb 或 ps -ef | grep gaussdb

当然,我们也可以通过终端模拟工具去连接服务


从top -c来看,其中st为0,没有cost time去等待真实的cpu资源,这也表明我们的vm得到了所有必要的cpu资源。
(注:当所给机器设备资源配置不足,服务内存较小,过载,可使用Swap交换技术确保服务器稳定运行,若配置了swap分区,当系统的物理内存不够用时,会使用swap分区-虽然可以增大物理内存大小的限制,但若是由于内存不足使用到swap分区,会增加系统的响应时间,从而导致性能变差。因此在物理内存充足或者性能敏感的系统中,关闭swap交换内存swapoff -a,防止把数据库的缓冲区内存淘汰到磁盘上)
最后,我们在项目工程中去替换传统数据库Oracle/MySql/SqlServer,实现国产化数据库平滑替代:

// 驱动-连接地址-账号-密码等信息
String driverClassName = "org.postgresql.Driver";
String url = "jdbc:postgresql://ip:port/postgres";
String username = "yd";
String password = "DayKnowApply@123";
// 加载驱动
Class.forName(driverClassName);
// 获取数据库连接对象
Connection con = (Connection) DriverManager.getConnection(url,username,password);
// 获取数据库操作对象
PreparesStatement ps = con.preparesStatement("SELECT COUNT(*) FROM KNOW_CENTER;");
// 执行sql
ResultSet rs= ps.executeQuery();
// 数据库产品名称
DatabaseMetaData metaData = (DatabaseMetaData) con.getMetaData();
// 这里为国产数据库-适配,在xml指定国产数据库的databaseId奠定基础
System.out.println("数据库产品名称:" + metaData.getDatabaseProductName());
最后需关闭连接close,释放资源->rs-ps-con.
总结
从全面适配工作改造下来,这也确实给了DBA以及研发工程师对数据库SQL方言语句书写的一些约束规范。
当在实际项目工程中,出现厂商中SQL方言函数也覆盖不全的话,则可以@厂商提供,或者通过通用ORM组件的方式去改造SQL,openGauss的一些SQL高阶语法参见->opengauss 3.1.1 SQL特性
随着国产化进程的加速,我们的应用系统、国产化数据库、中间件不论是平稳运行在麒麟操作系统之上,还是在鲲鹏欧拉操作系统之上,都象征着国产化操作系统在软、硬件适配等方面取得了一定的成就,国产化数据库系统也在不断为兼容拓展传统数据库SQL方言-迭代升级,开发者生态日趋完善。
附:技术多元化是一个趋势,多语言并存,多数据库适配,多环境兼容,让我们一起为国产化社区贡献一份力量,为开源打call,支持国产><
相关文章:
全面适配 | 走近openGauss数据库+鲲鹏欧拉操作系统
引入 全面适配 | openEuler操作系统 openGauss数据库 开篇 1、openEuler欧拉操作系统 百度百科:openEuler是覆盖全场景的创新平台,在引领内核创新,夯实云化基座的基础上,面向计算架构互联总线、存储介质发展新趋势,…...
2023Robocom CAIP省赛 第四题 相对论大师
原题链接: PTA | 程序设计类实验辅助教学平台 题面: 在某个直播间里,观众常常会发送类似这样的弹幕: 鱼越大,鱼刺越大;鱼刺越大,肉越少;肉越少,鱼越小;所以鱼…...
【TypeScript】TS入门级基础学习(一)
【TypeScript】TS入门级基础学习(一) 一、前言 TypeScript 是一种用于应用程序规模的 JavaScript 语言。 TypeScript 向 JavaScript 添加了可选类型,支持用于任何浏览器、任何主机、任何操作系统的大规模 JavaScript 应用程序的工具。 Type…...
jenkins执行jmeter时,报Begin size 1 is not equal to fixed size 5
jenkins执行jmeter脚本的时候一直提示如下错误: Tidying up ... Fri Jul 28 17:03:53 CST 2023 (1690535033178) Error generating the report: org.apache.jmeter.report.dashboard.GenerationException: Error while processing samples: Consumer failed wi…...
在 “小小容器” WasmEdge 里运行小小羊驼 llama 2
昨天,特斯拉前 AI 总监、OpenAI 联合创始人 Andrej Karpathy 开源了 llama2.c 。 只用 500 行纯 C 语言就能训练和推理 llama 2 模型的框架,没有任何繁杂的 python 依赖。这个项目一推出就受到大家的追捧,24 小时内 GitHub 收获 4000 颗星&am…...
【C#】async和await 续
前言 在文章《async和await》中,我们观察到了一下客观的规律,但是没有讲到本质,而且还遗留了一个问题: 这篇文章中,我们继续看看这个问题如何解决! 我们再看看之前写的代码: static public void TestWait2() {var t…...
【Matlab】基于粒子群优化算法优化BP神经网络的数据回归预测(Excel可直接替换数据)
【Matlab】基于粒子群优化算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码5.1 fun.m5.2 main.m6.完整代码6.1 fun.m6.2 main.m7.运行结果1.模型原理 基于粒子群优化算法(Particle Swarm Optimization, PSO)…...
QPainter绘制雷达界面
文章目录 功能实现定义的结构体定义的函数效果图gitee源码链接 功能实现 相较于上一版,这一版添加的功能有: 1、自适应窗口 2、扫描方式(圆周扫描、扇形扫描(指定起始角度和结束角度)) 3、扫描方向&#x…...
flutter:BottomNavigationBar和TabBar
区别 BottomNavigationBarr和TabBar都是用于创建导航栏的组件,但它们有一些区别。 位置不同:BottomNavigationBar通常位于屏幕底部,用于主要导航;而TabBar通常位于屏幕顶部或底部,用于切换不同的视图或页面。 样式不…...
【图论】Prim算法
一.介绍 Prim算法是一种用于解决最小生成树问题的贪心算法。最小生成树问题是指在一个连通无向图中找到一个生成树,使得树中所有边的权重之和最小。 Prim算法的基本思想是从一个起始顶点开始,逐步扩展生成树,直到覆盖所有顶点。具体步骤如下…...
第九十二回 在Flutter中解析JSON数据
文章目录 概念介绍解析方法convert库插件工具 示例代码经验总结 我们在上一章回中介绍了"对dio库进行封装"相关的内容,本章回中将介绍 如何在Flutter中解析JSON数据.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在前面章回中介绍了通…...
银河麒麟安装mysql数据库(mariadb)-银河麒麟安装JDK-银河麒麟安装nginx(附安装包)
银河麒麟离线全套安装教程(手把手教程) 1.银河麒麟服务器系统安装mysql数据库(mariadb) 2.银河麒麟桌面系统安装mysql数据库(mariadb) 3.银河麒麟服务器系统安装JDK 4.银河麒麟桌面系统安装JDK 5.银河麒麟…...
文件上传
js绕过 打开网页尝试上传一句话木马,发现只能上传图片文件 审计源代码,发现使用一个checkfile函数js对文件类型进行了屏蔽 于是我们修改网页代码,去除返回值的检查函数 checkFile() 上传成功,使用蚁剑连接 连接成功 .htaccess绕…...
tinkerCAD案例:22. Backpack Zipper Pull 背包拉链头
tinkerCAD案例:21. Custom Stamp 定制印章 原文 tinkerCAD案例:22. Backpack Zipper Pull 背包拉链头 Lesson Overview: 课程概述: Now we’re going to make a zipper pull! 现在我们要做一个拉链头! Your backpack, howev…...
Unity 性能优化四:UI耗时函数、资源加载、卸载API
UI耗时函数 1.1 Canvas.SendWillRenderCanvases 这个函数是由于自身UI的更新,产生的耗时 1. 这里更新的是vertex 属性,比如 color、tangent、position、uv,修改recttransform的position、scale,rotation并不会导致顶点属性改变…...
【Linux】用户相关内容
如果命令ll 出现以上信息,UID为具体的数字,代表之前UID为502的用户被删除了。 更改目录或文件所属用户和所属组 在Linux中,创建一个文件时,该文件的拥有者都是创建该文件的用户。 更改所属用户 chown 用户名 文件名/目录名 更…...
基于多场景的考虑虑热网网损的太阳能消纳能力评估研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【动态规划part10】| 121.买卖股票的最佳时机、122.买卖股票的最佳时机II
目录 🎈LeetCode121. 买卖股票的最佳时机 🎈LeetCode122.买卖股票的最佳时机II 🎈LeetCode121. 买卖股票的最佳时机 链接:121.买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定…...
java 页面html常用写法总结
(注意:本文章默认base html中已经引入bootstrap.min.css、style.css等css样式) input :输入标签 <#input required"必填" id"cycle" name"周期" underline"true" style"width:75%" itype&quo…...
阿里云服务器全方位介绍_优势_使用_租用费用详解
阿里云服务器全方位介绍包括云服务器ECS优势、云服务器租用价格、云服务器使用场景及限制说明,阿里云服务器网分享云服务器ECS介绍、个人和企业免费试用、云服务器活动、云服务器ECS规格、优势、功能及应用场景详细你说明: 目录 什么是云服务器ECS&…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
