greenplum 数据库的增量备份不起作用

Incremental backup of greenplum database not working

在使用 gpbackup 实用程序时在 greenplum 数据库中,我了解堆 tables,即使分区时也会对 table 进行完整备份,即使我们进行增量备份时也是如此。但是,如果我在堆 table 上创建主键或索引,它不应该开始表现为组织的追加 table 吗?但是当指定 --incremental 时它仍然需要完整备份。有什么原因吗?

gpcrondump 实用程序仅将数据库中每个 table 的状态与上次使用状态文件的备份进行比较。如果自上次备份以来 table 的状态有任何变化,它将被标记为脏并在增量备份期间进行备份。

在文件级别,堆 tables 在被清理时具有空的元组槽,这些槽由下一个可用的元组填充——一旦该槽被填充,整个文件就被修改了。

因此,gpcrondump 只能进行 "append-only" tables 的增量备份。

我会看一下 gpbackup - 它在路线图上有增量备份,目前在大多数备份操作中比 gpcrondump 运行得快得多。