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

【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  
----12345678910
(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.hqwc.cn/news/13775.html

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

相关文章

【计算机视觉】对比学习采样器sampler

前置知识准备 Samplers — Open Metric Learning documentation​​​​​​ 在该文档里,category表示类别,label表示商品,instance表示商品不同角度的图片。 category就是blouses_shirts;label就是15;instance就是这…

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

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

RTC时钟stm32f407(需要在手册上找到)

首先是备份域(BKP),看手册时必须要看的(以下的上电复位均是指备份域上电复位) RTC时钟 这里的电源电压时指V(BAT); 电源复位; 上面三个寄存器时影子寄存器

在Django中使用xlrd读取excel表格数据

目录 方法一:按行读取 方法二:按表头与表数据一一对应的关系 方法三:按列的方式读取 之前有说到如何在Django中读取数据库数据写入到excel中 今天来说说如何读取excel中的数据,(读取后就可以写入到数据库中了&#…

Mysql8安装教程与配置

添加密码 出现报错 MySQL error 1042: Unable to connect to any of the specified MySQL hosts. Failed to connect to MySQL Server 8.0.23 after 10 attempts. Ended configuration step: Starting the server 使用WinR --> 运行 “services.msc” --> 打开service服…

【通览一百个大模型】LaMDA(Google)

【通览一百个大模型】LaMDA(Google) 作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo 订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干…

NVIC的中断挂起寄存器和EXTI的中断挂起寄存器的区别

!!!!!!!!!!!!!!!!仅个人拙见,若有错误,欢迎大家指正&#xff0…

9.33UEC++、容器

1.定义: 2.TArray:快,小,高 :同质容器 :创建栈对象,不能创建堆对象 如何构建TArray: 获取方式: 实现方式:定义一个array容器数组,两种遍历方式…

E. Scuza - 二分+前缀和

分析: 暴力会超时,可以用二分,构建两个数组,一个是a[i],作为前缀和数组,一个是f[i]表示第i个台阶之前的最大高度的台阶,然后每次二分来查找k,因为尽可能地走的多,所以查找…

OpenCV库进行图像旋转、仿射变换和透视变换

#include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp>

2023/7/8总结

Tomcat 启动&#xff1a;双击bin目录下的startup.bat文件停止&#xff1a;双击bin目录下的shutdown.bat 文件访问 &#xff1a;http://localhost:8080&#xff08;默认是8080&#xff0c;可以修改&#xff09; git的使用 打开git bash git config --global user.name "名…

11 S整数小波分解图像(matlab程序)

1.简述 学习目标&#xff1a; 非标准小波分解&#xff08;用S整数变换&#xff09; 小波分解过程&#xff1a;读取加入噪声后的图片后&#xff0c;数据即是高度*宽度个数据点。对此矩阵数据要做二维离散小波分解&#xff0c;二维小波变换和一维小波变换的区别从原理上来说就是…