Skip to content

pgmoneta/pgmoneta

pgmoneta

pgmoneta is a backup / restore solution for PostgreSQL.

pgmoneta is named after the Roman Goddess of Memory.

Features

  • Full backup
  • Restore
  • Compression (gzip, zstd, lz4, bzip2)
  • AES encryption support
  • Symlink support
  • WAL shipping support
  • Hot standby
  • Prometheus support
  • Remote management
  • Offline mode
  • Transport Layer Security (TLS) v1.2+ support
  • Daemon mode
  • User vault

See Getting Started on how to get started with pgmoneta.

See Configuration on how to configure pgmoneta.

Overview

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

See Architecture for the architecture of pgmoneta.

Tested platforms

Compiling the source

pgmoneta requires

dnf install git gcc cmake make libev libev-devel openssl openssl-devel systemd systemd-devel zlib zlib-devel libzstd libzstd-devel lz4 lz4-devel libssh libssh-devel libcurl libcurl-devel python3-docutils libatomic bzip2 bzip2-devel libarchive libarchive-devel cjson cjson-devel

Alternative clang 8+ can be used.

Release build

The following commands will install pgmoneta in the /usr/local hierarchy.

git clone https://github.com/pgmoneta/pgmoneta.git
cd pgmoneta
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

See RPM for how to build a RPM of pgmoneta.

Debug build

The following commands will create a DEBUG version of pgmoneta.

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

Contributing

Contributions to pgmoneta are managed on GitHub.com

Contributions are most welcome !

Please, consult our Code of Conduct policies for interacting in our community.

Consider giving the project a star on GitHub if you find it useful. And, feel free to follow the project on Twitter as well.

License

BSD-3-Clause