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.
- 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
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.