Postgresus
Features
Installation
How it works?
Postgresus is a free, open source and self-hosted tool to monitor PostgreSQL and make backups with different storages and notifications about progress

PostgreSQL monitoring and backup tool

Save backups locally, to S3, Google Drive and more
Scheduled backups (daily, weekly, at 4 AM, etc.)
Notifications to email, Telegram, Slack, etc.
PostgreSQL from v13 to v17 supported
List of completed backups and in progress
To make PostgreSQL backup with Postgresus you need to follow 4 steps. After that, you will be able to restore in one click
You can choose any time you need: daily, weekly, monthly and particular time (like 4 AM)

For week interval you need to specify particular day, for month you need to specify particular day

If your database is large, we recommend you choosing the time when there are decrease in traffic
Enter credentials of your PostgreSQL database, select version and target DB. Also choose whether SSL is required

Postgresus, by default, compress backups at balance level to not slow down backup process (~20% slower) and save x4-x8 of the space (that decreasing network traffic)

How to make backups?

Select required schedule

Enter your database info

Choose storage for backups

Choose where you want to receive notifications (optional)

You can keep files with backups locally, in S3, in Google Drive, Dropbox and other services

Please keep in mind that you need to have enough space on the storage
When backup succeed or failed, Postgresus is able to send you notification. It can be chat with DevOps, your emails or even webhook of your team

We are going to support the most of popular messangers and platforms
1
2
3
4

Many destinations to store

Keep backup files wherever it is comfortable for you: on local storage of VPS, in S3 bucket, Google Drive, Dropbox, etc.

Self hosted via Docker

Postgresus runs on your PC or VPS. Therefore, all your data is owned by you and secured. Deploy takes about 2 minutes

Schedule backups

Backup is a thing that should be done in specified time on regular basis. So we provide many options: from hourly to monthly

Many PostgreSQL versions

PostgreSQL 13, 14, 15, 16 and 17 are supported by the project. You can backup any version from 2020

Notifications

You can receive notifications about success or fail of the process. This is useful for developers or DevOps teams

Open source and free

The project is fully open source, free and have MIT license. You can copy and fork the code on your own

Features

You can install it Postgresus via .sh script or directly via docker-compose.yml. In both cases Postgresus work in Docker
We provide a script that you can launch and it will install everything for you - directly from the GitHub repository

The script will:

1) Install Docker (if not installed);
2) Create docker-compose.yml;
3) Launch Postgresus (with relaunching on reboot).

Installation via .sh script

Installation via docker-compose.yml

Copy docker-compose.yml and launch via docker compose up -d

How to install?

sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/RostislavDugin/postgresus/refs/heads/main/install-postgresus.sh \ | sudo bash
version: "3" services:   postgresus:     container_name: postgresus     image: rostislavdugin/postgresus:latest     ports:       - "4005:4005"     volumes:       - ./postgresus-data:/app/postgresus-data     depends_on:       postgresus-db:         condition: service_healthy     restart: unless-stopped   postgresus-db:     container_name: postgresus-db     image: postgres:17     # we use default values, but do not expose     # PostgreSQL ports so it is safe     environment:       - POSTGRES_DB=postgresus       - POSTGRES_USER=postgres       - POSTGRES_PASSWORD=Q1234567     volumes:       - ./pgdata:/var/lib/postgresql/data     command: -p 5437     shm_size: 10gb     healthcheck:       test: ["CMD-SHELL", "pg_isready -U postgres -d postgresus -p 5437"]       interval: 5s       timeout: 5s       retries: 5     restart: unless-stopped

FAQ

The goal of Postgresus — make backing up as simple as possible for single developers (as well as DevOps) and teams. UI makes it easy to create backups and visualizes the progress and restores anything in couple of clicks
To start your very first Postgresus backup, simply log in to the dashboard, click on New Backup, select an interval — hourly, daily, weekly or monthly. Then specify the exact run time (e.g., 02:30 for off-peak hours)

Then input your PostgreSQL host, port number, database name, credentials, version and SSL preference. Choose where the archive should be sent (local path, S3 bucket, Google Drive folder, Dropbox, etc.). If you need, add notification channels such as email, Slack, Telegram or a webhook, and click Save

Postgresus instantly validates the info, starts the schedule, runs the initial job and sends live status. So you may restore with one touch when the backup is complete

7. How do I set up and run my first backup job in Postgresus?

Postgresus can notify with real-time emails, Slack, Telegram, webhooks, and more. You have the choice of what channels to ping so that your DevOps team hears about successes and failures in real time, making recovery routines and compliance audits easier.

5. How will I know a backup succeeded — or worse, failed?

No. All the data executes within containers you control, on servers you own. Credentials and backup files are left on your server or in the cloud account of your choice. Because it's open source, you or your security team, can inspect every line to make sure it meets your organization's needs before it's run.

6. Does Postgresus reduce database security?

You can choose from hourly, daily, weekly, or monthly cycles and even choose an exact run time (such as 04:00 when it's late night). Weekly schedules enable you to choose a particular weekday, while monthly schedules enable you to choose a particular calendar day, giving you very fine-grained control of maintenance windows.

3. What backup schedules can I schedule?

Archives can be saved to local volumes, S3-compatible buckets, Google Drive, Dropbox, and other cloud targets. Postgresus implements balanced compression, which typically shrinks dump size by 4-8× with incremental only about 20% of runtime overhead, so you have storage and bandwidth savings.

4. Where do my backups live and how much space will they occupy?

Postgresus is an MIT-licensed, self-hosted service backing up PostgreSQL, v13 to v17. It differs from shell scripts in that it has a frontend for scheduling tasks, compressing and storing archives on multiple targets (local disk, S3, Google Drive, Dropbox, etc.) and notifying your team when tasks finish or fail — all without hand-rolled code

1. What is Postgresus and why should I use it instead of hand-rolled scripts?

The most direct route is to run the one-line cURL installer. It fetches the current Docker image, spins up a single PostgreSQL container. Then creates a docker-compose.yml and boots up the service so it will automatically start again when reboots occur. Overall time is usually less than two minutes on a typical VPS.

2. How do I install Postgresus in the quickest manner?