This tools use pg_dump
to backup a postgres instance and send result to object
storage. It focus on backuping big database with a little memory usage. It use a
fixed memory buffer that correspond to the multipart upload size. This tools
expose many through a prometheus endpoint.
SCHEDULE
: cron like scheduling definition. Default to20 2 * * *
Environment variables for PostgreSQL can be used to configure access to database: https://www.postgresql.org/docs/12/libpq-envars.html
At least following variables must be defined:
PGHOST
PGUSER
PGPASSWORD
Optional variables:
BLACKLISTED_DATABASES
: Regexp to exclude databases. Default to.*backup.*|postgres|rdsadmin
RETENTION_DAYS
: Retention in days. Backups older than this value will be deleted. Default to15
.BUFFER_SIZE
: Size of the main buffer, this parameter affect backup speed and memory usage. Default to10 MB
.
The following variables are mandatory:
AWS_ENDPOINT
: Object storage endpoint, examplehttp://minio:9000
AWS_S3_BUCKET
: Bucket nameAWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
Optional variables:
AWS_S3_PREFIX
: Path in bucket. Default to a empty string.
PROMETHEUS_EXPORTER_PORT
: prometheus endpoint port. Default to9352