openGauss每日一练第20天
学习数据库的逻辑备份和恢复技术,完成课后作业。
创建逻辑备份目录
使用linux目录mkdir创建一个目录/var/lib/opengauss/backup
omm@e537701a151a:/$ mkdir /var/lib/opengauss/backup
复制
在omm数据库中创建表t1、t2
omm=# CREATE TABLE t1(col int);
CREATE TABLE
omm=# CREATE TABLE t2(col int);CREATE TABLE t1(col int);
CREATE TABLE
omm-# \d
List of relations
Schema | Name | Type | Owner | Storage
--------+------+-------+-------+----------------------------------
testsm | t1 | table | omm | {orientation=row,compression=no}
testsm | t2 | table | omm | {orientation=row,compression=no}
(2 rows)
复制
逻辑备份omm数据库(sql格式)
使用gs_dump程序将omm数据库备份到/var/lib/opengauss/backup目录的bk.sql文件
omm-# \! gs_dump omm -F p -f /var/lib/opengauss/backup/bk.sql
gs_dump[port='5432'][omm][2022-12-13 12:21:59]: The total objects number is 398.
gs_dump[port='5432'][omm][2022-12-13 12:21:59]: [100.00%] 398 objects have been dumped.
gs_dump[port='5432'][omm][2022-12-13 12:21:59]: dump database omm successfully
gs_dump[port='5432'][omm][2022-12-13 12:21:59]: total time: 152 ms
复制
备份完成后查看该目录下的文件
omm-# \! ls -il /var/lib/opengauss/backup
total 4
1316281 -rw------- 1 omm omm 2269 Dec 13 12:21 bk.sql
复制
使用SQL文件恢复omm数据库
首先删除omm数据库下的所有表
omm=# drop table t2; DROP TABLE omm=# drop table t1; DROP TABLE omm=# \d No relations found.
复制
使用gsql -f参数执行/var/lib/opengauss/backup/bk.sql的逻辑备份脚本
omm=# \! gsql -d omm -f /var/lib/opengauss/backup/bk.dump ALTER TABLE SET CREATE TABLE ALTER TABLE CREATE TABLE ALTER TABLE SET SET REVOKE REVOKE GRANT GRANT total time: 94 ms omm=# \d List of relations Schema | Name | Type | Owner | Storage --------+------+-------+-------+---------------------------------- testsm | t1 | table | omm | {orientation=row,compression=no} testsm | t2 | table | omm | {orientation=row,compression=no} (2 rows)
复制
再次使用\d
查询,可以看见我们的表成功恢复了
逻辑备份omm数据库(dump格式)
使用gs_dump程序将omm数据库备份到/var/lib/opengauss/backup目录的bk.dump文件
omm=# \! gs_dump omm -F p -f /var/lib/opengauss/backup/bk.dump gs_dump[port='5432'][omm][2022-12-13 12:28:14]: The total objects number is 398. gs_dump[port='5432'][omm][2022-12-13 12:28:14]: [100.00%] 398 objects have been dumped. gs_dump[port='5432'][omm][2022-12-13 12:28:14]: dump database omm successfully gs_dump[port='5432'][omm][2022-12-13 12:28:14]: total time: 153 ms
复制
备份完成后查看该目录下的文件
omm=# \! ls -il /var/lib/opengauss/backup total 8 1316283 -rw------- 1 omm omm 2269 Dec 13 12:28 bk.dump 1316281 -rw------- 1 omm omm 2269 Dec 13 12:21 bk.sql
复制
使用dump文件恢复omm数据库
首先删除omm数据库下的所有表
omm=# drop table t2; DROP TABLE omm=# drop table t1; DROP TABLE omm=# \d No relations found.
复制
使用gsql -f参数执行/var/lib/opengauss/backup/bk.dump的逻辑备份脚本
omm=# \! gsql -d omm -f /var/lib/opengauss/backup/bk.dump ALTER TABLE SET CREATE TABLE ALTER TABLE CREATE TABLE ALTER TABLE SET SET REVOKE REVOKE GRANT GRANT total time: 94 ms omm=# \d List of relations Schema | Name | Type | Owner | Storage --------+------+-------+-------+---------------------------------- testsm | t1 | table | omm | {orientation=row,compression=no} testsm | t2 | table | omm | {orientation=row,compression=no} (2 rows)
复制
再次使用\d
查询,可以看见我们的表成功恢复了
总结
数据库备份可以通过gs_dump工具进行备份,可以将数据库的数据导出成sql或dump格式的文件,恢复备份的方法其实就是执行sql脚本。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论

2年前

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