45 lines
873 B
Markdown
Executable File
45 lines
873 B
Markdown
Executable File
# Postgres Backup
|
|
|
|
## Backup
|
|
|
|
```
|
|
docker exec -i -e PGPASSWORD=<postgresql_password> postgres /usr/bin/pg_dumpall \
|
|
-U <postgresql_user> <postgresql_database> | gzip -9 > postgres-backup.sql.gz
|
|
```
|
|
|
|
## Restore
|
|
First, copy dump to container:
|
|
|
|
```
|
|
docker cp ./paperless_dump.sql db-pg-15:/backups
|
|
```
|
|
|
|
|
|
|
|
## Advanced
|
|
|
|
```
|
|
pgbackups:
|
|
container_name: Backup
|
|
image: prodrigestivill/postgres-backup-local
|
|
restart: always
|
|
volumes:
|
|
- ./backup:/backups
|
|
links:
|
|
- db:db
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
- POSTGRES_HOST=db
|
|
- POSTGRES_DB=${DB_NAME}
|
|
- POSTGRES_USER=${DB_USER}
|
|
- POSTGRES_PASSWORD=${DB_PASSWORD}
|
|
- POSTGRES_EXTRA_OPTS=-Z9 --schema=public --blobs
|
|
- SCHEDULE=@every 0h30m00s
|
|
- BACKUP_KEEP_DAYS=7
|
|
- BACKUP_KEEP_WEEKS=4
|
|
- BACKUP_KEEP_MONTHS=6
|
|
- HEALTHCHECK_PORT=81
|
|
```
|
|
|