Dev Tools
中文

pgbackweb Review: PostgreSQL Backups with a Web UI, Goodbye Manual crontab

pgbackweb is a user-friendly web interface for PostgreSQL backups with 2.6k GitHub stars. I used it to manage backups for three projects — here's why it's more convenient than traditional approaches.

PostgreSQLDatabase BackupGoDevOpsOpen Source

广告

pgbackweb Review: PostgreSQL Backups with a Web UI, Goodbye Manual crontab

I’ve maintained several projects running PostgreSQL, and backups have always been a pain. I started with pg_dump shell scripts plus crontab, then moved to pgBackRest — powerful but configured like you’re studying for a certification exam. Then I found pgbackweb, and finally had a backup solution that’s both simple and visual.

Project Background

Developed by eduardolat in Go, pgbackweb is positioned as “effortless PostgreSQL backups with a user-friendly web interface.” It has 2.6k stars on GitHub — not a huge number, but the feature set is solid and updates are active (last update November 2025).

License is MIT, so you’re free to deploy and modify. It’s essentially a scheduling layer plus web UI that wraps pg_dump, turning configuration, monitoring, and recovery into point-and-click operations.

Where It Genuinely Excels

1. Truly Zero-Config Startup

If you’re using Docker, one command gets you running:

docker run -d \
  -p 8085:8085 \
  -v pgbackweb_data:/app/data \
  eduardolat/pgbackweb

Then open localhost:8085 in your browser and you’ll see a clean web interface. Add database connections, set backup schedules, and pick storage locations — all with a few clicks.

Compare this to my old workflow: write pg_dump scripts, configure cron, set up monitoring alerts, build log collection… half a day’s work at minimum. pgbackweb is production-ready in ten minutes.

2. Multiple Storage Backends

Backup files are stored locally by default, but S3, MinIO, and SFTP remotes are also supported. I tested it with an S3-compatible object store — just enter your Access Key and Bucket name and it works.

# docker-compose example
services:
  pgbackweb:
    image: eduardolat/pgbackweb
    ports:
      - "8085:8085"
    environment:
      - PBW_ENCRYPTION_KEY=your-secret-key
      - PBW_S3_ENDPOINT=s3.amazonaws.com
      - PBW_S3_BUCKET=my-backups
      - PBW_S3_ACCESS_KEY=xxx
      - PBW_S3_SECRET_KEY=xxx

For teams deploying across multiple environments, centralizing backups in S3 makes management and auditing much easier.

3. Incremental Backups and Auto-Cleanup

pgbackweb supports automatic cleanup policies. You can set rules like “keep the last 7 daily backups + last 4 weekly backups + last 12 monthly backups,” and old files are automatically deleted so your disk doesn’t fill up.

The “incremental” approach is based on pg_dump’s custom format plus timestamps — not true WAL-based incrementals, but sufficient for most application scenarios. If you need Point-in-Time Recovery (PITR), you’ll still want pgBackRest or Barman.

4. Intuitive Web Interface

The dashboard shows the backup status of all databases: last backup time, file size, success or failure. Failed tasks are highlighted in red, and clicking through reveals the full pg_dump output log for easy troubleshooting.

Recovery is also UI-driven: pick a historical backup point, click “Restore,” and it automatically runs pg_restore with a progress indicator. No memorizing complex command-line flags — even beginners can handle it.

5. Encryption Support

Backup files can be encrypted with AES-256, with the key injected via environment variable. Even if backup files are leaked, they’re unreadable without the key. This matters when your database stores sensitive data.

Quick Setup

Docker Compose is the recommended approach:

version: '3.8'

services:
  pgbackweb:
    image: eduardolat/pgbackweb:latest
    container_name: pgbackweb
    restart: unless-stopped
    ports:
      - "8085:8085"
    volumes:
      - ./backups:/app/backups
    environment:
      - PBW_ENCRYPTION_KEY=change-me-to-a-strong-key
docker-compose up -d

Then visit http://localhost:8085 and follow the wizard to add your PostgreSQL connection info.

For bare-metal deployment, the releases page provides binaries for multiple platforms. Just download and run:

./pgbackweb

But It Has Real Limitations

PostgreSQL only. If you’re also running MySQL, MongoDB, or Redis, you’ll need separate tools. pgbackweb focuses on doing one thing well rather than being a jack of all trades.

Not true incremental backups. It performs periodic full pg_dump exports rather than WAL-based incrementals. For terabyte-scale databases, each full dump can be slow and I/O intensive. Fine for small-to-medium projects, but massive databases should stick with pgBackRest.

Basic authentication. Currently there’s only simple password login — no multi-user support or RBAC. In team collaboration scenarios, anyone with the password can manage backups and restores. Security relies on network isolation and password strength.

Web UI still maturing. Some advanced features like custom pg_dump parameters or pre/post-backup hooks aren’t supported yet. If you need fine-grained control, you’ll still need the command line.

Small community. At 2.6k stars, you won’t find many Stack Overflow answers when problems arise — you’ll rely mainly on GitHub Issues and documentation. Fortunately, the author is responsive. I reported a bug once and it was fixed within three days.

How It Compares

pgBackRest: The most capable option, supporting incremental backups, PITR, parallel backups, encryption, and compression. But configuration is extremely complex with a steep learning curve. Best for large production environments, not for people who want to “just get backups working.”

Barman: One of the officially recommended PostgreSQL backup tools, with comprehensive features but similar complexity, requiring dedicated server setup.

pg_dump + cron: The most primitive approach — zero dependencies but entirely manual. No monitoring, no UI, and recovery means digging through docs for the right commands. Error-prone over time.

Cloud provider auto-backups (AWS RDS, GCP Cloud SQL): Convenient but expensive, and it locks your data into the vendor’s ecosystem. Not applicable if you’re self-hosting PostgreSQL on cloud VMs.

If what you want is “simple, visual, and quick to deploy,” pgbackweb is currently the best choice.

Who It’s For

Developers on small-to-medium projects, indie hackers, small-team DevOps, or anyone who doesn’t want to spend much time on database backups. It’s especially seamless for Docker-based PostgreSQL deployments.

I now use it for backups across three projects: a SaaS product, an internal tool, and a blog system. Every morning I open the dashboard, see the green checkmarks, and know last night’s backups ran fine. That peace of mind is something manual scripts never gave me.

Bottom Line

pgbackweb’s 2.6k stars may not seem like much, but it precisely solves one pain point: making PostgreSQL backups simple and visual. For people who don’t want to read the pgBackRest manual or write yet another cron job, it’s the right tool at the right size.

It’s not an enterprise backup silver bullet, but it’s probably the backup solution that 90% of small-to-medium projects actually need. Deploy it in ten minutes, then forget about it — until the day you need to restore your data.

GitHub: https://github.com/eduardolat/pgbackweb


About the Author

Liudingyu is a full-stack developer and heavy GitHub user. With 900+ starred repos over the past 3 years, this site only covers tools I’ve actually used or deeply researched.

📧 Found a great tool to recommend? Email [email protected]

广告

Related Posts