About PgBackMan

What is PgBackMan?

PgBackMan is a tool for managing PostgreSQL logical backups created with pg_dump and pg_dumpall.

It is designed to manage backups from thousands of databases running in multiple PostgreSQL nodes, and it supports a multiple backup server topology.

It also manages role and database configuration information when creating a backup of a database. This information is necessary to ensure a 100% restoration of a logical backup of a database and the elements associated to it.

PgBackMan is not a tool for managing PITR (Point in time recovery) backups. There are several other solutions that can be used for managing PITR backups, such as PITRTools, OmniPITR, and Barman.

Main Features

  • Central database with metadata information.
  • PgBackMan shell for interaction with the system.
  • Management of multiple backup servers.
  • Management of multiple PostgreSQL servers.
  • Management of thousands of backups dumps through a catalogue.
  • Manual and scheduled backups.
  • Management of retention policies for backups dumps.
  • Fully detailed backup reports.
  • Multiple predefined database backup types, CLUSTER, FULL, SCHEMA, DATA.
  • Full backup of role information for a database.
  • Full backup of database configuration for a database.
  • Automatic definitions of backups for all databases running in a PgSQL node.
  • Automatic definitions of backups for all databases without definitions in a PgSQL node.
  • Automatic deletion after a quarantine period of backup definitions and associated files for databases than have been deleted in a PgSQL node.
  • Possibility of pausing / resuming replication on slaves/standby nodes when taking large backups.
  • Automatic restore procedures.
  • Autonomous pgbackman_dump program that functions even if the central database with metadata is not available.
  • Possibility of sending alerts via SMTP when an error happens.
  • Handling of error situations.
  • Written in Python and PL/PgSQL

License

PgBackMan is the property of Rafael Martinez Guerrero / PostgreSQL-es and the University of Oslo, and its code is distributed under GNU General Public License 3.