【openGauss数据库】--运维指南04--数据导入

news2024/9/22 7:22:19

【openGauss数据库】--运维指南04--数据导入

    • 🔻 一、openGauss导入数据
      • 🔰 1.1 概述
      • 🔰 1.2 INSERT语句写入数据
      • 🔰 1.3 gsql元命令导入数据
      • 🔰 1.4 使用gs_restore命令、gsql命令导入数据(`主要`)
    • 🔻 二、总结—温故知新

在这里插入图片描述


👈【上一篇】
💖The Begin💖 点点关注,收藏不迷路💖
【下一篇】👉

🔻 一、openGauss导入数据

🔰 1.1 概述

openGauss数据库提供了灵活的数据入库方式:INSERTCOPY以及gsql元命令\copy。各方式具有不同的特点。

在这里插入图片描述

🔰 1.2 INSERT语句写入数据

INSERT是最简单的一种数据写入方式,这种方式适合数据写入量不大,并发度不高的场景。

###🍀如:插入单条数据🍀###
INSERT INTO customer_t1(c_customer_sk, c_customer_id, c_first_name) VALUES (3769, 'hello', 'Grace');

###🍀如:插入多条数据🍀###
INSERT INTO customer_t1 (c_customer_sk, c_customer_id, c_first_name) VALUES 
    (6885, 'maps', 'Joes'),
    (4321, 'tpcds', 'Lily'),
    (9527, 'world', 'James');

🔰 1.3 gsql元命令导入数据

gsql工具提供了元命令\copy进行数据导入。

该命令读取/写入的文件是本地文件,而非数据库服务器端文件;所以,要操作的文件的可访问性、权限等,都是受限于本地用户的权限。

  • 说明:

\COPY只适合小批量、格式良好的数据导入,不会对非法字符做预处理,也无容错能力,无法适用于含有异常数据的场景。导入数据应优先选择COPY。

###🍀1、创建目标表t_a。
CREATE TABLE t_a(a int);

###🍀2、从stdin拷贝数据到目标表t_a。出现>>符号提示时,输入数据,输入\.时结束。
db_test01=# \copy t_a from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.
>> 1
>> 2
>> 3
>> 4
>> 5
>> 6
>> 7
>> 8
>> 9
>> 10
>> \.
db_test01=# 


###🍀2、查询导入目标表t_a的数据。
db_test01=# SELECT * FROM t_a;
 a  
----
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
(10 rows)

db_test01=# 

🔰 1.4 使用gs_restore命令、gsql命令导入数据(主要

gs_restore是openGauss数据库提供的与gs_dump配套的导入工具。通过该工具,可将gs_dump导出的文件导入至数据库。gs_restore支持导入的文件格式包含自定义归档格式、目录归档格式和tar归档格式。

  • gs_restore具备如下两种功能:

🟢1、导入至数据库

如果指定了数据库,则数据将被导入到指定的数据库中。其中,并行导入必须指定连接数据库的密码。导入时生成列会自动更新,并像普通列一样保存。

🟢2、导入至脚本文件

如果未指定导入数据库,则创建包含重建数据库所需的SQL语句脚本,并将其写入至文件或者标准输出。该脚本文件等效于gs_dump导出的纯文本格式文件。

gs_restore工具在导入时,允许用户选择需要导入的内容,并支持在数据导入前对等待导入的内容进行排序。

  • 📖 说明:

gs_restore默认是以追加的方式进行数据导入。为避免多次导入造成数据异常,在进行导入时,建议选择使用“-c”和“-e”参数。“-c”表示在重新创建数据库对象前,清理(删除)已存在于将要还原的数据库中的数据库对象;“-e”表示当发送SQL语句到数据库时如果出现错误请退出,默认状态下会继续,且在导入后会显示一系列错误信息。
在这里插入图片描述

  • 📖 恢复步骤:

🟢 1、以操作系统用户omm登录数据库主节点。
[root@klgdj ~]$ su - omm
     
🟢 2、执行gs_restore,导入指定db_test01_backup.dmp文件tar归档格式)中db_test01数据库的数据和对象定义。
[omm@klgdj back_up]$ gs_restore -U omm /home/omm/back_up/db_test01_backup.tar -p 15400 -d backup_db_test01
start restore operation …
table smbh_bhcfg_bc_b complete data imported !
table smbh_bhcfg_bc_bp complete data imported !
table smbh_bhcfg_bh_info complete data imported !
table t_area complete data imported !
table t_config complete data imported !
table t_xmjbxx_info complete data imported !
table t_dept complete data imported !
table t_user complete data imported !
table t_user_02 complete data imported !
table t_config complete data imported !
Finish reading 92 SQL statements!
end restore operation …
restore operation successful
total time: 694 ms
[omm@klgdj back_up]$
在这里插入图片描述
   
或者以追加的方式进行数据导入
[omm@klgdj back_up]$ gs_restore -U omm /home/omm/back_up/db_test01_backup.tar -p 15400 -d db_test01
   
🟢 3、执行gs_restore,导入指定db_test01_backup.dmp文件(自定义归档格式)中db_test01数据库的数据和对象定义。
[omm@klgdj back_up]$ gs_restore -U omm /home/omm/back_up/db_test01_backup.dmp -p 15400 -d db_test01
   
🟢 4、执行gs_restore,导入指定db_test01_backup目录文件(目录归档格式)中db_test01数据库的数据和对象定义。
[omm@klgdj back_up]$ gs_restore -U omm /home/omm/back_up/db_test01_backup -p 15400 -d db_test01

🟢 5、执行gs_restore,将db_test01数据库的所有对象的定义导入至backupdb数据库。导入前,数据库存在完整的定义和数据,导入后,backupdb数据库只存在所有对象定义,表没有数据。
[omm@klgdj back_up]$ gs_restore /home/omm/back_up/db_test01_backup.tar -p 15400 -d backup_db_test01 -s -e -c

🟢 6、执行gsql程序,使用如下选项导入由gs_dump/gs_dumpall生成导出文件夹(纯文本格式)的db_test01_backup.sql文件到db_test01 数据库。
[omm@klgdj back_up]$ gsql -d db_test01 -p 15400 -W omm@klgdj#2023 -f /home/omm/back_up/db_test01_backup.sql
SET
SET
SET
SET
SET
SET
SET
gsql:/home/omm/back_up/db_test01_backup.sql:17: ERROR: schema “db_test01” already exists
ALTER SCHEMA
gsql:/home/omm/back_up/db_test01_backup.sql:26: ERROR: schema “test” already exists
ALTER SCHEMA
gsql:/home/omm/back_up/db_test01_backup.sql:35: ERROR: schema “zyl01” already exists
ALTER SCHEMA
SET
gsql:/home/omm/back_up/db_test01_backup.sql:50: ERROR: function “insert_data” already exists with same argument types
ALTER FUNCTION
gsql:/home/omm/back_up/db_test01_backup.sql:67: ERROR: function “tri_insert_func” already exists with same argument types
ALTER FUNCTION
SET
SET
SET
gsql:/home/omm/back_up/db_test01_backup.sql:94: ERROR: relation “smbh_bhcfg_bc_b” already exists in schema “db_test01”
DETAIL: creating new table with existing name in the same schema
ALTER TABLE
。。。。。。。

🔻 二、总结—温故知新

❓ 该章详细介绍了openGauss数据库使用gs_restore命令、gsql命令导入备份数据。

👈【上一篇】
💖The End💖 点点关注,收藏不迷路💖
【下一篇】👉

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

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

相关文章

[毕业设计baseline]tkinter+flask的毕业设计开发baseline

一.前言 最近开发了一个结合了tkinter和flask框架的GUI页面服务器。目前可以想到的开发方向有。 1.基于python的局域网聊天系统。 2.服务器管理系统。 3.网络安全防御系统。 接下来就来介绍一下这个框架以及开发方向的详细思路。如果计算机专业的本科毕业生感兴趣可以用pyt…

35.RocketMQ之Broker端消息存储文件详解

highlight: arduino-light Broker端文件详解 dubbo的核心是spi,看懂了spi那么dubbo基本上也懂了。对于rmq来说,它的核心是broker,而broker的核心是commitlog、consumequeue、indexfile,而这些文件对应的最终都是MappedFile&#x…

使用OpenCV在图像上绘制质心

这段代码中已经实现了在图像上绘制质心的功能。质心,也称为重心,是物体质量分布的几何中心,可以通过物体质量和位置的加权平均来求得。 在这个程序中,图像的质心(重心)是通过计算像素强度(可以被看作是“质量”)的加权平均位置得到的。图像上每一个像素都有一个位置(…

软件设计模式与体系结构-软件体系-数据流风格软件体系结构

二、数据流风格软件体系结构 概念 数据流系统的各软件组件在无数据到达时处于休眠状态,当有数据到达时,该软件组件被激活,开始对数据进行处理。数据流风格软件体系结构将整个软件系统看作由一系列作用在连续数据集合上的“变换”组成。数据…

学无止境·MySQL(3-2)

单表查询试题 单表题目一1、创建表2、查询出部门编号为30的所有员工3、所有销售员的姓名、编号和部门编号4、找出奖金高于工资的员工5、找出奖金高于工资60%的员工。6、 找出部门编号为10中所有经理,和部门编号为20中所有销售员的详细资料。7、找出部门编号为10中所…

Elasticsearch + Kibana实现词云

需求 实现文件导入es,支持格式TXT、DOC、PPT、XLS、PDF、图片ik分词器远程热更新自定义扩展字典和停用字典Kibana配置词云,并显示对应文档详情和字典频次,且自定义显示字典 技术点 文件导入:es插件ingest-attachment图片文字识…

Nuxt3如何新建项目

第一步 创建项目 1.新建一个文件目录 nuxt-app 2.命令行cd到目录下运行 npx nuxi init nuxt-test 回车运行下 nuxt-test是文件名自己随意 3.再cd nuxt-test到目录下 运行npm install 4.运行完成后 npm run dev 启动项目 显示以下页面 第二步 修改入口代码,编写自己的代码 1.…

从零开始的PICO教程(2)--实时预览应用场景

从零开始的PICO教程(2)–实时预览应用场景 基于串流能力,你可以通过 PDC 工具在头戴上实时预览应用内场景。​ 文章目录 从零开始的PICO教程(2)--实时预览应用场景一、提示信息​二、准备工作​三、操作步骤​四、故…

SpringBoot3【④ 基础特性(外部和内部化配置,整合Junit)】

1. SpringApplication 1.1. 自定义 banner 类路径添加banner.txt或设置spring.banner.location就可以定制 banner推荐网站:Spring Boot banner 在线生成工具,制作下载英文 banner.txt,修改替换 banner.txt 文字实现自定义,个性化…

笔记本没有WIFI列表解决方案

是否有网络图标类似于地球的图案 打开个性化 点击打开或关闭系统图标 查看网络那一项是否是打开 如果没有打开就打开注册表 如果不是上图中的数据,就右键新建输入以上的数据。如果还是不能解决就进行如下操作 打开控制面板,打开网络与Internet,再打…

初出茅庐的小李博客之机智云获取网络实时时间(NTP)

机智云获取网络实时时间 机智云代码中其实这么一个函数gizwitsGetNTP( )可以获取网络时间,今天就在STM32F407上教大家如何通过机智云获取NTP网络时间。 简单介绍一下NTP: 网络时间同步现在有2种同步协议NTP和PTP,NTP与PTP不同在于时间戳的产生位置。N…

Kubernetes对象深入学习之二:细说schema.ObjectKind

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 在前文咱们对对象体系有了大概了解,接下来就要按照前面换分的三个知识区域逐个深入学习,今天从最简单的对象类型开始 runtime.Object…

PWM 输出实验(stm32)

目录 PWM的代码pwm.cpwm.h main.c 说明:以下内容参考正点原子的资料 PWM的代码 pwm.c //TIM3 PWM部分初始化 //PWM输出初始化 //arr:自动重装值 //psc:时钟预分频数 void TIM3_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitSt…

华为云CodeArts Build-云端化的编译构建平台

随着互联网企业业务种类增多,业务跨平台,多语言编程成为常态。 传统应用软件为本地应用,业务复杂,软件规模大,编译构建耗时长,而且移动终端APP业务变化快,交付要求短平快。 因此一个支持多语言…

环型链表oj

文章目录 题目描述解决方法 题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中…

java 阿里云直播配置及推拉流地址获取

一、开通阿里云直播 首先进入阿里云直播产品主页:https://www.aliyun.com/product/live 。 点击下方的“立即开通”。 如果是还未注册的用户请按照页面提示进行完成注册并实名认证。 2、首次进入会提示开通服务,点击“开通服务”,然后选择计…

[C++] 万字 - C++异常处理分析介绍: 异常概念、异常抛出与捕获匹配原则、重新抛出、异常安全、异常体系...

C语言 错误处理方式 在C语言中, 代码发生错误一般会有两种处理方式: 终止程序. 比如 直接使用assert()断言. 或者直接崩溃 返回、设置错误码 C语言某些函数执行失败, 但是结果不足以导致致命问题时, 就会将错误码设置在errno中. 用户可以通过strerr(errno)来获取错误信息. …

Linux的管道符详解

(该图由AI绘制 关注我 学习AI画图) 目录 管道(重点) 1、管道符 2、过滤(筛选)功能 3、特殊功能(了解) 4、统计功能(重点) 5、xargs命令扩展 管道&…

多元分类预测 | Matlab全连接神经网络(DNN)分类预测,多特征输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 全连接神经网络(DNN)分类预测,多特征输入模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。 部分源码

设计数据库时,字段“是否可用”该取什么英文名?研究active/enable/state/progress的区别

一条记录发布后,除了删除状态,还存在可用、不可用状态(并非审核状态),那么这个字段在数据库中该取什么名字呢?先告诉结果:使用active英文单词衍生出的is_active。 表可用 active - 意为活跃或生…