New functionality: ability to merge specified range of backups into one.
CASE 1: I have a large database, which is actively written to. It is backed up by the standard 6+1 schedule: increments on weekdays and Saturdays, FULL on Sundays. If shit happens - in the worst case, I need to restore Full, 5 increments (that's okay) and (oops) apply all the WALs for the last day. Ideally, I want, plus 6 + 1, an hourly increment (i.e. I made an increment at the previous hour, in an hour I do another increment and merge it with the first one by custom script, that uses merge for range of backups functionality). So I have to restore Full, 6 increments and apply WALs for the last hour, which is much easier.
CASE 2: I want to store backups for a month, 4 FULL, 26 increments and for the last day I'd like to have 24 increments, every hour. I scheduled 24 increments a day, and the next day I merge them into one daily increment by custom script, that uses merge for range of backups functionality. schedule: 24 increments per day, every hour, except for the days when FULL backup runs. script starts daily that pulls out a range of daily backups (except for pinned ones, which can be made, for example, before application update and are needed as is) and merges them into one daily backup
I will implement all the above logic (and many others) on my side, with scripts. From pg_backup, I only need the merge functionality for backups range, i.e.
pg_probackup merge -B /backup/cat --instance instance_name --from-id=BCPID1 --to-id=BCPID2, backups within the range may be incr or full.
New functionality: ability to merge specified range of backups into one.
CASE 1: I have a large database, which is actively written to. It is backed up by the standard 6+1 schedule: increments on weekdays and Saturdays, FULL on Sundays. If shit happens - in the worst case, I need to restore Full, 5 increments (that's okay) and (oops) apply all the WALs for the last day. Ideally, I want, plus 6 + 1, an hourly increment (i.e. I made an increment at the previous hour, in an hour I do another increment and merge it with the first one by custom script, that uses merge for range of backups functionality). So I have to restore Full, 6 increments and apply WALs for the last hour, which is much easier.
CASE 2: I want to store backups for a month, 4 FULL, 26 increments and for the last day I'd like to have 24 increments, every hour. I scheduled 24 increments a day, and the next day I merge them into one daily increment by custom script, that uses merge for range of backups functionality. schedule: 24 increments per day, every hour, except for the days when FULL backup runs. script starts daily that pulls out a range of daily backups (except for pinned ones, which can be made, for example, before application update and are needed as is) and merges them into one daily backup
I will implement all the above logic (and many others) on my side, with scripts. From pg_backup, I only need the merge functionality for backups range, i.e.
pg_probackup merge -B /backup/cat --instance instance_name --from-id=BCPID1 --to-id=BCPID2, backups within the range may be incr or full.