Skip to content

Add bundled block backups and differential scheduling - #18

Merged
gauravtiwari merged 1 commit into
mainfrom
pr/pgbackrest-block-backups
Sep 1, 2026
Merged

gauravtiwari merged 1 commit into
mainfrom
pr/pgbackrest-block-backups

Conversation

@gauravtiwari

Copy link
Copy Markdown
Contributor

Summary

  • render opt-in pgBackRest repository bundling and block incremental settings
  • reject block mode unless repository bundling is also enabled
  • support an independent differential backup cron between full and incremental schedules
  • remove stale differential schedules during reinstall/uninstall and document the configuration

Recovery safety

This changes repository representation and scheduling, not PostgreSQL data semantics. pgBackRest reconstructs ordinary cluster files from the selected backup manifest and required WAL during restore. Block mode is opt-in and BoringCache runs pgBackRest 2.59.1.

A production rollout should establish a new full backup after enabling block mode, run pgbackrest check, verify the new full/differential/incremental chain with pgbackrest info, and complete an isolated restore/PITR drill before treating the new cadence as proven.

The intended BoringCache schedule is weekly full, daily differential, four-hour incremental, and continuous WAL archiving. The daily differential bounds the ordinary dependency chain compared with a week of incrementals alone.

Official reference: https://pgbackrest.org/user-guide.html

Tests

  • mise exec ruby@4.0.6 -- bundle exec ruby -Itest test/components/pgbackrest_templates_test.rb
  • mise exec ruby@4.0.6 -- bundle exec ruby -Itest test/components/pgbackrest_test.rb
  • mise exec ruby@4.0.6 -- bundle exec ruby -Itest test/configuration_test.rb
  • focused RuboCop checks

@gauravtiwari
gauravtiwari merged commit c0e0b25 into main Sep 1, 2026
4 checks passed
@gauravtiwari
gauravtiwari deleted the pr/pgbackrest-block-backups branch September 1, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant