A scenario has been identified where incremental backups taken using gpbackup with --single-data-file and DDBoost plugin may complete successfully even when no data changes occur, but required backup artifacts are not properly generated.
In such cases:
gpbackup logs show:
No tables to backupBackup completed successfullygpbackup_*_toc.yaml) are either empty or missing from the backup storage.These incremental backups are still included in the backup chain but when attempting to restore a later incremental backup, gprestore fails with errors such as:
Unable to process segment TOC files using pluginDDBoost Error 5004: nothing matchedThis happens because incremental restore requires a complete chain of backup artifacts, including all segment TOC files from previous backups.
This behavior is due to two related issues:
1. Backup-side issue (gpbackup)
No tables to backup)2. Restore-side limitation (gprestore)
gprestore requires all segment TOC files from the full + incremental chainWorkaround:
If the customer urgently needs to restore a particular incremental backup, this issue can be worked around by having the customer create the segment files themselves in the appropriate segment backup locations. The data files can be created by gzipping /dev/null to produce valid but empty .gz files, the ToC files need to contain the string dataentries: (and nothing else) so that they can be parsed as a valid ToC by gprestore. However, since this involves manually modifying backups, we don't recommend sharing this workaround more broadly unless a customer hits this specific issue.
Permanent Fix:
R&D is targeting to fix this in gpbackup 1.33.0.