示例
使用gs_dump 转储数据库为SQL 文本文件或其它格式的操作,如下所示。
其中,用户密码为Bigdata@123;/home/gbase/data/backup/MPPDB_backup.sql 表示导出
的文件;5432 表示数据库服务器端口;postgres 表示要访问的数据库名。
导出操作时,请确保该目录存在并且当前的操作系统用户对其具有读写权限。
示例1:执行gs_dump,导出postgres 数据库全量信息,导出的MPPDB_backup.sql 文
件格式为纯文本格式。
[gbase@gbasehot ~]$ gs_dump -U gbase -W Bigdata@123 -f
/home/gbase/data/backup/MPPDB_backup.sql -p 5432 postgres -F p
gs_dump[port='5432'][postgres][2018-06-27 09:49:17]: The total objects number is
356.
gs_dump[port='5432'][postgres][2018-06-27 09:49:17]: [100.00%] 356 objects have
been dumped.
gs_dump[port='5432'][postgres][2018-06-27 09:49:17]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-27 09:49:17]: total time: 1274
ms
使用gsql 程序从纯文本导出文件中导入数据。
示例2:执行gs_dump,导出postgres 数据库全量信息,导出的MPPDB_backup.tar 文
件格式为tar 格式。
[gbase@gbasehot ~]$ gs_dump -U gbase -W Bigdata@123 -f
/home/gbase/data/backup/MPPDB_backup.tar -p 5432 postgres -F t
gs_dump[port='5432'][postgres][2018-06-27 10:02:24]: The total objects number is
1369.
gs_dump[port='5432'][postgres][2018-06-27 10:02:53]: [100.00%] 1369 objects
have been dumped.
gs_dump[port='5432'][postgres][2018-06-27 10:02:53]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-27 10:02:53]: total time: 50086
ms
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
143
示例3:执行gs_dump,导出postgres 数据库全量信息,导出的MPPDB_backup.dmp 文
件格式为自定义归档格式。
[gbase@gbasehot ~]$ gs_dump -U gbase -W Bigdata@123 -f
/home/gbase/data/backup/MPPDB_backup.dmp -p 5432 postgres -F c
gs_dump[port='5432'][postgres][2018-06-27 10:05:40]: The total objects number is
1369.
gs_dump[port='5432'][postgres][2018-06-27 10:06:03]: [100.00%] 1369 objects
have been dumped.
gs_dump[port='5432'][postgres][2018-06-27 10:06:03]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-27 10:06:03]: total time: 36620
ms
示例4:执行gs_dump,导出postgres 数据库全量信息,导出的MPPDB_backup 文件格
式为目录格式。
[gbase@gbasehot ~]$ gs_dump -U gbase -W Bigdata@123 -f
/home/gbase/data/backup/MPPDB_backup -p 5432
postgres -F d
gs_dump[port='5432'][postgres][2018-06-27 10:16:04]: The total objects number is
1369.
gs_dump[port='5432'][postgres][2018-06-27 10:16:23]: [100.00%] 1369 objects
have been dumped.
gs_dump[port='5432'][postgres][2018-06-27 10:16:23]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-27 10:16:23]: total time: 33977
ms
示例5:执行gs_dump,导出postgres 数据库信息,但不导出/home/MPPDB_temp.sql
中指定的表信息。导出的MPPDB_backup.sql 文件格式为纯文本格式。
[gbase@gbasehot ~]$ gs_dump -U gbase -W Bigdata@123 -p 5432 postgres
--exclude-table-file=/home/gbase/data/MPPDB_temp.sql -f
/home/gbase/data/backup/MPPDB_backup.sql
gs_dump[port='5432'][postgres][2018-06-27 10:37:01]: The total objects number is
1367.
gs_dump[port='5432'][postgres][2018-06-27 10:37:22]: [100.00%] 1367 objects
have been dumped.
gs_dump[port='5432'][postgres][2018-06-27 10:37:22]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-27 10:37:22]: total time: 37017
ms
示例6:
执行gs_dump,
仅导出依赖于指定表testtable 的视图信息。
然后创建新的testtable
GBase 8c 工具参考手册
南大通用数据技术股份有限公司
144
表,再恢复依赖其上的视图。
备份仅依赖于testtable 的视图。
[gbase@gbasehot ~]$ gs_dump -s -p 5432 postgres -t PUBLIC.testtable
--include-depend-objs --exclude-self -f
/home/gbase/data/backup/MPPDB_backup.sql -F p
gs_dump[port='5432'][postgres][2018-06-15 14:12:54]: The total objects number is
331.
gs_dump[port='5432'][postgres][2018-06-15 14:12:54]: [100.00%] 331 objects have
been dumped.
gs_dump[port='5432'][postgres][2018-06-15 14:12:54]: dump database postgres
successfully
gs_dump[port='5432'][postgres][2018-06-15 14:12:54]: total time: 327
ms
修改testtable 名称。
[gbase@gbasehot ~]$ gsql -p 5432 postgres -r -c "ALTER TABLE PUBLIC.testtable
RENAME TO testtable_bak;"
创建新的testtable 表。
gbase=# CREATE TABLE PUBLIC.testtable(a int, b int, c int);
还原依赖于testtable 的视图。
[gbase@gbasehot ~]$ gsql -p 5432 postgres -r -f
/home/gbase/data/backup/MPPDB_backup.sql