gs_dumpall
-
背景信息
- gs_dumpall是openGauss用于导出所有数据库相关信息工具,它可以导出openGauss数据库的所有数据,包括默认数据库postgres的数据、自定义数据库的数据、以及openGauss所有数据库公共的全局对象。
- gs_dumpall工具由操作系统用户omm执行。
- gs_dumpall工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。
- gs_dumpall工具支持导出完整一致的数据。例如,T1时刻启动gs_dumpall导出openGauss数据库,那么导出数据结果将会是T1时刻该openGauss数据库的数据状态,T1时刻之后对openGauss的修改不会被导出。
- gs_dumpall在导出openGauss所有数据库时分为两部分:
- gs_dumpall自身对所有数据库公共的全局对象进行导出,包括有关数据库用户和组,表空间以及属性(例如,适用于数据库整体的访问权限)信息。
- gs_dumpall通过调用gs_dump来完成openGauss中各数据库的SQL脚本文件导出,该脚本文件包含将数据库恢复为其保存时的状态所需要的全部SQL语句。
以上两部分导出的结果为纯文本格式的SQL脚本文件,使用gsql运行该脚本文件可以恢复openGauss数据库。
-
实验过程
gs_dumpall -p 15400 -f home/omm/opengauss_39_back.sql [omm@wzsy01 ~]$ gs_dumpall -p 15400 -f home/omm/opengauss_39_back.sql gs_dump[port='15400'][dbname='chnbs'][2021-07-27 15:38:06]: The total objects number is 1948. gs_dump[port='15400'][dbname='chnbs'][2021-07-27 15:38:07]: [100.00%] 1948 objects have been dumped. gs_dump[port='15400'][dbname='chnbs'][2021-07-27 15:38:29]: dump database dbname='chnbs' successfully gs_dump[port='15400'][dbname='chnbs'][2021-07-27 15:38:29]: total time: 25678 ms gs_dump[port='15400'][dbname='mydb'][2021-07-27 15:38:31]: The total objects number is 1166. gs_dump[port='15400'][dbname='mydb'][2021-07-27 15:38:31]: [100.00%] 1166 objects have been dumped. gs_dump[port='15400'][dbname='mydb'][2021-07-27 15:38:42]: dump database dbname='mydb' successfully gs_dump[port='15400'][dbname='mydb'][2021-07-27 15:38:42]: total time: 13215 ms gs_dump[port='15400'][dbname='postgres'][2021-07-27 15:38:43]: The total objects number is 434. gs_dump[port='15400'][dbname='postgres'][2021-07-27 15:38:43]: [100.00%] 434 objects have been dumped. gs_dump[port='15400'][dbname='postgres'][2021-07-27 15:38:43]: dump database dbname='postgres' successfully gs_dump[port='15400'][dbname='postgres'][2021-07-27 15:38:43]: total time: 584 ms gs_dump[port='15400'][dbname='vzoom'][2021-07-27 15:38:46]: The total objects number is 1947. gs_dump[port='15400'][dbname='vzoom'][2021-07-27 15:38:47]: [100.00%] 1947 objects have been dumped. gs_dump[port='15400'][dbname='vzoom'][2021-07-27 15:39:10]: dump database dbname='vzoom' successfully gs_dump[port='15400'][dbname='vzoom'][2021-07-27 15:39:10]: total time: 27453 ms gs_dumpall[port='15400'][2021-07-27 15:39:10]: dumpall operation successful gs_dumpall[port='15400'][2021-07-27 15:39:10]: total time: 67481 ms
gs_dumpall详细参数说请见官方文档:gs dumpall | openGauss
gs_dump
-
背景信息
- gs_dump是openGauss用于导出数据库相关信息的工具,用户可以自定义导出一个数据库或其中的对象(模式、表、视图等)。支持导出的数据库可以是默认数据库postgres,也可以是自定义数据库。
- gs_dump工具由操作系统用户omm执行。
- gs_dump工具在进行数据导出时,其他用户可以访问openGauss数据库(读或写)。
- gs_dump工具支持导出完整一致的数据。例如,T1时刻启动gs_dump导出A数据库,那么导出数据结果将会是T1时刻A数据库的数据状态,T1时刻之后对A数据库的修改不会被导出。
- gs_dump支持将数据库信息导出至纯文本格式的SQL脚本文件或其他归档文件中。
- 纯文本格式的SQL脚本文件:包含将数据库恢复为其保存时的状态所需的SQL语句。通过gsql运行该SQL脚本文件,可以恢复数据库。即使在其他主机和其他数据库产品上,只要对SQL脚本文件稍作修改,也可以用来重建数据库。
- 归档格式文件:包含将数据库恢复为其保存时的状态所需的数据,可以是tar格式、目录归档格式或自定义归档格式。该导出结果必须与gs_restore配合使用来恢复数据库,gs_restore工具在导入时,系统允许用户选择需要导入的内容,甚至可以在导入之前对等待导入的内容进行排序。
-
实验过程
-
二进制备份chnbs数据库
gs_dump -p 15400 chnbs -F c -f home/omm/chnbs.binary
-
sql文本导出chnbs数据库
gs_dump -p 15400 chnbs -f home/omm/chnbs.sql
-
tar包备份chnbs数据库
gs_dump -p 15400 chnbs -F t -f home/omm/chnbs.tar
-
文件夹备份chnbs数据库
gs_dump -p 15400 chnbs -F d -f home/omm/chnbs
-
sql文本导出chnbs数据库下名为salene的schema
gs_dump -p 15400 chnbs -n salene -f home/omm/chnbs_salene.sql
-
二进制备份chnbs数据库下名为salene的schema
gs_dump -p 15400 chnbs -n salene -F c -f home/omm/chnbs_salene.binary
综合备份出的文件,二进制备份压缩比最高,实验过程中最高达到1:13,tar包备份和sql文本备份无压缩。
[omm@wzsy01 ~]$ gs_dump -p 15400 chnbs -F c -f home/omm/chnbs.binary gs_dump[port='15400'][chnbs][2021-07-27 15:40:26]: The total objects number is 1948. gs_dump[port='15400'][chnbs][2021-07-27 15:40:27]: [100.00%] 1948 objects have been dumped. gs_dump[port='15400'][chnbs][2021-07-27 15:40:51]: dump database chnbs successfully gs_dump[port='15400'][chnbs][2021-07-27 15:40:51]: total time: 27629 ms [omm@wzsy01 ~]$ ls -lh -rw------- 1 omm dbgrp 72M Jul 27 15:40 chnbs.binary [omm@wzsy01 ~]$ gs_dump -p 15400 chnbs -f home/omm/chnbs.sql gs_dump[port='15400'][chnbs][2021-07-27 15:41:25]: The total objects number is 1948. gs_dump[port='15400'][chnbs][2021-07-27 15:41:26]: [100.00%] 1948 objects have been dumped. gs_dump[port='15400'][chnbs][2021-07-27 15:41:46]: dump database chnbs successfully gs_dump[port='15400'][chnbs][2021-07-27 15:41:46]: total time: 24089 ms [omm@wzsy01 ~]$ ls -lh -rw------- 1 omm dbgrp 72M Jul 27 15:40 chnbs.binary -rw------- 1 omm dbgrp 904M Jul 27 15:41 chnbs.sql [omm@wzsy01 ~]$ gs_dump -p 15400 chnbs -F t -f home/omm/chnbs.tar gs_dump[port='15400'][chnbs][2021-07-27 15:42:54]: The total objects number is 1948. gs_dump[port='15400'][chnbs][2021-07-27 15:42:56]: [100.00%] 1
-