No description
Find a file
2023-12-26 13:59:18 +03:00
.github/workflows Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
backup Added remote backup 2023-12-26 13:59:18 +03:00
config Added remote backup 2023-12-26 13:59:18 +03:00
log Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
notify Added format options and more options for webhook 2023-12-25 16:18:11 +03:00
.gitignore Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
.goreleaser.yaml Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
go.mod Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
go.sum Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
LICENSE Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
main.go Added format options and more options for webhook 2023-12-25 16:18:11 +03:00
pgsql-backup.iml Log messages translated to English. Log format improved. Fixed db parsing. 2023-08-02 14:20:43 +03:00
README.md added no encryption option removed mattermost 2023-12-15 15:12:39 +03:00
README.tr.md added no encryption option removed mattermost 2023-12-15 15:12:39 +03:00

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.