Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

monobilisim/pgsql-backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

71e3543 · Dec 15, 2023

History

31 Commits
Aug 2, 2023
Dec 15, 2023
Dec 15, 2023
Aug 2, 2023
Dec 15, 2023
Aug 2, 2023
Aug 2, 2023
Aug 2, 2023
Dec 15, 2023
Dec 15, 2023
Aug 2, 2023
Aug 2, 2023
Aug 2, 2023
Aug 2, 2023

Repository files navigation

Contributors Forks Stargazers Issues GPL License

Readme in English Readme in Turkish

pgsql-backup

pgsql-backup is a tool for backing up PostgreSQL databases.

Table of Contents


Features

  • Backs up and encrypts all databases or a custom list of databases.
  • Supports local backups and cloud storage options like S3 or Minio.
  • Option to remove old local backups for efficient storage management.
  • Provides notifications through email for monitoring backups.

Usage

  1. Configure pgsql-backup by editing the config file (default is /etc/pgsql-backup.yml )

  2. Run the backup using the following command as the postgres user:

pgsql-backup

Backups will be created for each database based on the configuration. For local backups, ensure that you define a backup folder with appropriate permissions.


Dependencies

  • p7zip

Configuration

The configuration file is in YAML format. The available options are:

  • backupDestination - Local backup folder path
  • databases - List of database names to back up, if empty all databases are backed up
  • removeLocal - Remove old local backups if true
  • archivePass - Password to use for encrypting backups with 7z
  • s3 - S3 configuration for backups
  • minio - Minio configuration for backups
  • notify - Email and webhook url notification configuration
  • log - Logging configuration

See config/config.sample.yml for an example configuration file.


Building

To build pgsql-backup:

CGO_ENABLED=0 go build -ldflags '-extldflags "-static"'

License

pgsql-backup is GPL-3.0 licensed. See LICENSE file for details.