Greenplum数据库当前支持的备份恢复主要是两种方式:
串行备份是继承Postgresql的原生COPY命令,所有数据都经过Master处理。
因此,其主要特点为串行备份,备份速度慢,使用场景为备份元数据或小型表。
恢复采用pg_restore命令,pg_restore命令只能恢复由pg_dump或pg_dumpall命令备份出来的压缩格式。
包括以前的gp_dump和gpcrondump,原理是所有Primary并行将数据从数据库中进行COPY OUT操作。
因此,其主要特点为并行备份,备份速度快,另外gpbackup使用共享锁,对系统影响小。
示例:
gpbackup --dbname gpmagic --jobs 6 --leaf-partition-data --backup-dir /data
其中:
–dbname代表备份的数据库名称
–jobs指定备份表的并行任务数
–leaf-partition-data代表将每个叶子分区单独进行备份
–backup-dir指定备份目录
另外,gpbackup还支持增量备份,通过参数**–incremental**指定。
恢复采用gprestore命令,示例:
gprestore --backup-dir /data --jobs 6 --redirect-db restore --timestamp xxxx
其中:
–backup-dir指定备份的目录
–jobs指定恢复表数据的并行连接数
–redirect-db代表恢复到不同的数据库名称
–timestamp代表恢复哪一个备份