学习目标
学习openGauss导出数据
课程学习
连接数据库
#第一次进入等待15秒
#数据库启动中...
su - omm
gsql -r
1.准备数据
–数据存放在backup数据库中
create database backup;
\c backup
CREATE SCHEMA ds;
create table ds.t1(id int, name char(30));
insert into ds.t1 values(1 ,'xxxx');
CREATE TABLE customer_t
( c_customer_sk integer,
c_customer_id char(5),
c_first_name char(6),
c_last_name char(8)
) ;
INSERT INTO customer_t VALUES
(6885, 1, 'Joes', 'Hunter'),
(4321, 2, 'Lily','Carter'),
(9527, 3, 'James', 'Cook'),
(9500, 4, 'Lucy', 'Baker');
–退出数据库连接
\q

2.导出数据库
–以sql文本格式导出backup数据库全量信息
gs_dump -f /home/omm/backup_database_all.sql backup -F p
–以sql文本格式导出backup数据库中的数据,不包含数据库对象定义
gs_dump -f /home/omm/backup_database_data.sql backup -a -F p
–以sql文本格式导出backup数据库中对象的定义
gs_dump -f /home/omm/backup_database_define.sql backup -s -F p
–查看导出的数据
more /home/omm/backup_database_all.sql

3.导出模式
–以sql文本格式导出backup数据库中ds模式的全量信息
gs_dump -f /home/omm/backup_schema_all.sql backup -n ds -F p
–以sql文本格式导出backup数据库中ds模式的数据
gs_dump -f /home/omm/backup_schema_data.sql backup -n ds -a -F p
–以sql文本格式导出backup数据库中ds模式的定义
gs_dump -f /home/omm/backup_schema_define.sql backup -n ds -s -F p
–查看导出的数据
more /home/omm/backup_schema_all.sql

4.导出表
–以sql文本格式导出backup数据库中表customer_t的全量信息
gs_dump -f /home/omm/backup_table_all.sql backup -t customer_t -F p
–以sql文本格式导出backup数据库中表customer_t的数据
gs_dump -f /home/omm/backup_table_data.sql backup -t customer_t -a -F p
–以sql文本格式导出backup数据库中表customer_t的定义
gs_dump -f /home/omm/backup_table_define.sql backup -t customer_t -s -F p
–查看导出的数据
more /home/omm/backup_table_all.sql

课程作业
1.创建数据库tpcc,在数据库tpcc中创建模式schema1,在模式schema1中建表products
-- 1.
create database tpcc;
\c tpcc
create schema schema1;
create table schema1.products(id int);
insert into schema1.products values (1),(2),(3);
\q
2.使用gs_dump工具以文本格式导出数据库tpcc的全量数据
# 2.
gs_dump -f /home/omm/bk_tpcc_all.sql backup -F p
3.使用gs_dump工具以文本格式导出模式schema1的定义
# 3.
gs_dump -f /home/omm/bk_schema1_define.sql backup -n ds -s -F p
4.使用gs_dump工具以文本格式导出数据库tpcc的数据,不包含定义
# 4.
gs_dump -f /home/omm/bk_tpcc_data.sql backup -a -F p
5.删除表、模式和数据库
# 5.
gsql -r
\c tpcc
drop table schema1.products;
drop schema schema1;
drop database tpcc;

学习心得
本节练习以库、模式、表三个维度进行数据导出,着重需要注意 gs_dump 常用参数的含义。
参考文档
松鼠镇楼,按时打卡





