Draft: Add Barman backup option for large database

What does this MR do?

Adds a new documentation page covering how to use Barman (Backup and Recovery Manager) to back up and restore large PostgreSQL databases in self-managed GitLab environments.

This addresses a gap in GitLab's current backup guidance: for Omnibus-bundled PostgreSQL databases larger than 100 GB, the existing documentation recommends using cloud-managed database services. However, many self-managed customers are unable or unwilling to use cloud-managed databases, and may have started with a smaller bundled database that has since grown beyond the threshold where pg_dump-based backups are practical.

Barman is an open-source solution widely used in the industry for physical backups of PostgreSQL databases (single servers and Patroni clusters). Its physical backup approach using pg_basebackup and streaming replication is consistent with GitLab's existing Geo approach, and is significantly faster than logical backups via pg_dump.

The new documentation covers:

  • When to use Barman vs. other backup options
  • Barman architecture and how it integrates with GitLab's PostgreSQL setup
  • Installation and configuration steps
  • Backup and recovery procedures
  • Integration with Patroni HA deployments
  • Consideration of GitLab Geo deployments

gitlab-com/support/support-team-meta#7479 (closed)

Author's checklist

If you are a GitLab team member and only adding documentation, do not add any of the following labels:

  • ~"frontend"
  • ~"backend"
  • ~"type::bug"
  • ~"database"

These labels cause the MR to be added to code verification QA issues.

Reviewer's checklist

Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.

If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.

  • If the content requires it, ensure the information is reviewed by a subject matter expert.
  • Technical writer review items:
    • Ensure docs metadata is present and up-to-date.
    • Ensure the appropriate labels are added to this MR.
    • Ensure a release milestone is set.
    • If relevant to this MR, ensure content topic type principles are in use, including:
      • The headings should be something you'd do a Google search for. Instead of Default behavior, say something like Default behavior when you close an issue.
      • The headings (other than the page title) should be active. Instead of Configuring GDK, say something like Configure GDK.
      • Any task steps should be written as a numbered list.
      • If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
  • Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.
Edited by Mike Lockhart | GitLab

Merge request reports

Loading
Loading