
원문: Free, open source and self-hosted solution for automated PostgreSQL backups. With multiple storage options and notifications
번역: 여러 저장소 옵션과 알림 기능을 지원하는, 자동화된 PostgreSQL 백업을 위한 무료 오픈 소스 자체 호스팅 솔루션
RostislavDugin/postgresus는 PostgreSQL 자동 백업 툴이며, 제공하는 주요 기능은 다음과 같습니다:
특정 시간을 지정해서 백업을 실행할 수 있으며, 균형 잡힌 압축 방식으로 4~8배 저장공간을 절감합니다.
로컬 저장소, 클라우드 저장소(S3, R2, Google Drive 등) 다중 저장소를 지원합니다. (보안 옵션도 저장소에 따라 제공합니다)
Email, Telegram, Slack, Discord 등 여러 채널을 통해 성공 및 실패 알림을 지원합니다.
이외에도 Postgresus features 문서에서 더 많은 정보를 얻을 수 있습니다.
자동 설치 스크립트도 지원하지만, 필자는 Docker Compose가 익숙하기에, 이 아티클에서는 Docker Compose를 통해 설치합니다.
services:
my-postgres:
container_name: my-postgres
image: postgres:18
# more options
my-postgresus:
container_name: my-postgresus
image: rostislavdugin/postgresus:latest
ports:
- "4005:4005" # WebUI에 접근하기 위한 포트
volumes:
- ./postgresus/data:/postgresus-data # 백업 데이터 볼륨 마운트
depends_on:
- my-postgres # PostgreSQL 의존성
이번 설치에서는 PostgreSQL 18버전을 사용했습니다.
Postgresus 컨테이너 선언 시, WebUI에 접근하기 위한 포트와 백업 데이터 볼륨의 마운트를 설정합니다.
WebUI에 접근하기 위해 브라우저로 http://yourhost:4005/에 접속합니다.

화면에 표시되는 안내에 따라 admin 계정을 생성합니다.
참고: 여기에 당신의 password가 없길 바랍니다 :)

admin 계정 설정 직후, 보이는 Create workspace 버튼을 클릭하면 Workspace를 생성할 수 있습니다.
Postgresus에서 Workspace란, 데이터베이스, 저장소, 알림 설정 등을 관리하는 단위입니다.

다음으로 백업할 대상(PostgreSQL)을 설정합니다. 방금 전 Docker Compose에서 선언한 PostgreSQL 컨테이너를 설정해줍니다.
설정 후에는 백업 작업 전용의 read-only 사용자의 생성 여부를 묻습니다. 이는 선택 사항이며, 이 아티클에서는 스킵하겠습니다.

백업할 대상(PostgreSQL)의 설정이 끝나면, 백업 관련 설정을 진행해야 합니다. 저는 다음과 같이 설정하겠습니다.

마지막으로 Notifier를 설정합니다. 저는 Discord Webhook을 통해 알림을 받도록 설정해보았습니다(이외에도 Slack, Telegram 등 다양한 벤더를 사용할 수 있습니다).


설정이 완료되면 위와 같이 백업을 한번 실행하며, 백업 리스트에 추가됩니다.
삭제, 복원 그리고 다운로드 Action을 쉽게 사용할 수 있으며, Make backup right now 이라고 적힌 버튼을 클릭하면 바로 backup을 생성할 수도 있습니다.
$ docker stats my-postgresus
CONTAINER ID NAME CPU % MEM USAGE / LIMIT
............ my-postgresus 0.00% 77.63MiB / ...
idle 상태에서 CPU/메모리 사용량입니다. 이정도면 Postgresus는 검소한 성격인가 봅니다.
├── docker-compose.yml
└── postgresus
└── data
├── backups
│ └── ...
├── pgdata
├── secret.key
└── temp
백업 파일도 정상적으로 확인 됩니다.
이제 데이터는 안전합니다!
대신 물리 드라이브를 RAID/백업할 시간인 것 같습니다...
로그인 후 댓글을 작성할 수 있습니다.