实操作业
gs_dump是openGauss用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等),回收站对象除外。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。
gs_dump可以创建四种不同的导出文件格式,通过[-F或者--format=]选项指定,参数如下
格式名称 | -F的参数值 | 说明 | 建议 | 对应导入工具 |
---|---|---|---|---|
纯文本格式 | p | 纯文本脚本文件包含SQL语句和命令。命令可以由gsql命令行终端程序执行,用于重新创建数据库对象并加载表数据。 | 小型数据库,一般推荐纯文本格式。 | 使用gsql工具恢复数据库对象前,可根据需要使用文本编辑器编辑纯文本导出文件。 |
自定义归档格式 | c | 一种二进制文件。支持从导出文件中恢复所有或所选数据库对象。 | 中型或大型数据库,推荐自定义归档格式。 | 使用gs_restore可以选择要从自定义归档导出文件中导入相应的数据库对象。 |
目录归档格式 | d | 该格式会创建一个目录,该目录包含两类文件,一类是目录文件,另一类是每个表和blob对象对应的数据文件。 | - | |
tar归档格式 | t | tar归档文件支持从导出文件中恢复所有或所选数据库对象。tar归档格式不支持压缩且对于单独表大小应小于8GB。 | - |
1.逻辑备份和恢复案例1:使用sql格式进行备份和恢复omm数据库
--创建测试需要的环境
--创建用户
omm=# create user bkuser sysadmin password 'test@123';
NOTICE: The encrypted password contains MD5 ciphertext, which is not secure.
CREATE ROLE
--创建表空间
omm=# create tablespace bk_tbs owner bkuser location '/var/lib/opengauss/tbs';
CREATE TABLESPACE
--创建数据库
omm=# create database bktestdb owner bkuser tablespace bk_tbs;
CREATE DATABASE
--在omm库建表t1,插入数据
create table t1(col1 int);
CREATE TABLE
insert into t1 values (946);
insert into t1 values (9466);
insert into t1 values (94666);
--查看源库表数据
omm@modb:~$ gsql -d omm -c "select * from t1";
col1
-------
946
9466
94666
(3 rows)
--查看目标库表数据,此时提示表不存在
omm@modb:~$ gsql -d bktestdb -c "select * from t1";
ERROR: relation "t1" does not exist on gaussdb
LINE 1: select * from t1
--以sql格式备份omm库 -U表示用户 -W表示用户密码 -F表示以什么文件格式导出 -f表示导出的文件路径,此处omm库前面不用加参数-d
omm@modb:~$ gs_dump omm -U bkuser -W test@123 -F p -f /var/lib/opengauss/backup/omm_dump.sql
gs_dump[port='5432'][omm][2022-12-13 21:12:59]: The total objects number is 411.
gs_dump[port='5432'][omm][2022-12-13 21:12:59]: [100.00%] 411 objects have been dumped.
gs_dump[port='5432'][omm][2022-12-13 21:12:59]: dump database omm successfully
gs_dump[port='5432'][omm][2022-12-13 21:12:59]: total time: 1510 ms
--数据逻辑恢复,此处使用gsql连接数据库的命令 再加 -f 指定上一步备份的sql文件路径即可
omm@modb:~$ gsql -d bktestdb -U bkuser -W test@123 -f /var/lib/opengauss/backup/omm_dump.sql
SET
SET
SET
SET
SET
SET
CREATE SCHEMA
ALTER SCHEMA
SET
SET
SET
CREATE TABLE
ALTER TABLE
REVOKE
REVOKE
GRANT
GRANT
total time: 13 ms
--验证数据,恢复成功
omm@modb:~$ gsql -d bktestdb -c "select * from t1";
col1
-------
946
9466
94666
(3 rows)复制
2.逻辑备份和恢复案例2:使用dump格式进行备份和恢复omm数据库
--清除案例1数据
omm@modb:~$ gsql -d bktestdb -c "truncate table t1";
TRUNCATE TABLE
omm@modb:~$ gsql -d bktestdb -c "select * from t1";
col1
------
(0 rows)
--备份为dump格式
gs_dump omm -U bkuser -W test@123 -F p -f /var/lib/opengauss/backup/omm_buckup.dump
--恢复数据
gsql -d bktestdb -U bkuser -W test@123 -f /var/lib/opengauss/backup/omm_buckup.dump
--验证数据
omm@modb:/var/lib/opengauss/backup$ gsql -d bktestdb -c "select * from t1";
col1
-------
946
9466
94666
(3 rows)
--s使用自定义格式备份数据库
gs_dump omm -U bkuser -W test@123 -F c -f /var/lib/opengauss/backup/omm_buckup_c.dump
--使用 gs_restore工具导入数据库
gs_restore /var/lib/opengauss/backup/omm_buckup_c.dump -d bktestdb
--注:对于小型数据库,一般推荐纯文本格式。对于数据量较大的中型或大型数据库,推荐自定义归档格式。复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论

2年前

评论
相关阅读
openGauss荣获中国软件行业协会多奖项,技术升级再创行业新高度
openGauss
563次阅读
2025-04-30 14:30:58
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
MogDB
309次阅读
2025-04-17 10:41:41
MogDB 发布更新,解决 openGauss 数据库在长事务情况下Ustore表膨胀问题
云和恩墨
202次阅读
2025-04-16 09:52:02
GitCode 成 openGauss 新归宿,国产开源数据库里程碑事件
严少安
177次阅读
2025-04-27 11:37:53
荣誉时刻!openGauss认证证书快递已发,快来看看谁榜上有名!
墨天轮小教习
165次阅读
2025-04-23 17:39:13
单个执行机并行执行MySQL到openGauss数据迁移子任务
Clipnosis
151次阅读
2025-04-30 16:39:58
Postgresql数据库单个Page最多存储多少行数据
maozicb
97次阅读
2025-04-23 16:02:19
openGauss6.0.0适配操作系统自带的软件,不依赖三方库
来杯拿铁
97次阅读
2025-04-18 10:49:53
openGauss新特性 | openGauss-DataVec向量数据库特性介绍
openGauss
68次阅读
2025-04-17 10:41:47
RISC-V 首迎 openGauss 7.0.0-RC1 全量版适配!数据库核心功能完整落地开源架构
openGauss
51次阅读
2025-04-16 10:33:59