pgmoneta is a backup / restore solution for PostgreSQL.
pgmoneta is named after the Roman Goddess of Memory.
- Full backup
- Symlink support
- Prometheus support
- Remote management
- Transport Layer Security (TLS) v1.2+ support
- Daemon mode
- User vault
See Getting Started on how to get started with
See Configuration on how to configure
pgmoneta makes use of
- Process model
- Shared memory model across processes
- libev for fast network interactions
- Atomic operations are used to keep track of state
- The PostgreSQL command line tools
See Architecture for the architecture of
Compiling the source
dnf install git gcc cmake make libev libev-devel openssl openssl-devel systemd systemd-devel zlib zlib-devel libzstd libzstd-devel python3-docutils
Alternative clang 8+ can be used.
The following commands will install
pgmoneta in the
git clone https://github.com/pgmoneta/pgmoneta.git cd pgmoneta mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. make sudo make install
pgmoneta requires PostgreSQL 10 or later to run as the command line tools are required. These can be installed from the PostgreSQL YUM repository, or from the official distribution repository, if supported, like
dnf install -y postgresql
See RPM for how to build a RPM of
The following commands will create a
DEBUG version of
git clone https://github.com/pgmoneta/pgmoneta.git cd pgmoneta mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Debug .. make
Remember to set the
log_level configuration option to
pgmoneta are managed on GitHub.com
Contributions are most welcome !
Please, consult our Code of Conduct policies for interacting in our community.