Commercial high-performance Rust-native PostgreSQL plugin for Bacula Community. Enterprise-grade PITR (Point-in-Time Recovery), logical dumps, VLDB handling and replication-state capture at a fraction of the cost of Bacula Systems’ commercial PostgreSQL module. Rust backend orchestrates pg_dump, pg_backup_start/pg_backup_stop, WAL archive management, per-file enumeration of $PGDATA, tablespace walks, logical replication slot capture, automated recovery-configuration writing and post-restore verification.
Backup modes
- Logical (
pg_dump) — schema, base, full database; table-level granularity; cross-version migration - Physical (base backup with
pg_basebackuporpg_backup_start/stop) — PITR-capable, WAL archiving included - Continuous WAL archiving — minute-level RPO via continuous WAL shipping
- VLDB tablespace-parallel — multiple workers writing parallel streams to the SD
Enterprise replication
- Streaming replication state capture — slot, recovery target, primary_conninfo
- Logical replication slot snapshot — exports slots for DR reconstruction
- Standby-aware — backup from standby preserving consistency with primary
- Hot-standby validation — verifies standby LSN within acceptable window
Automated restore
- RestoreObject — full config saved in backup, replay automatable
- PITR target via bconsole — point to SCN/LSN/timestamp
- Automated
recovery.confwritten by plugin on restore - Post-restore verify —
pg_isready,pg_controldatasanity checks
Comparison
| Feature | Bacula Community | Bacula Enterprise PostgreSQL | Veeam Plug-in | PodHeitor PostgreSQL |
|---|---|---|---|---|
| Logical + physical | No | Yes | Yes | Yes |
| PITR | No | Yes | Yes | Yes |
| Replication state capture | No | Limited | Limited | Yes |
| VLDB tablespace-parallel | No | No | No | Yes |
| Logical replication slot | No | No | No | Yes |
| Cost | Free | $$$$ | $$$$ | ≥50% cheaper |
Compatibility
- PostgreSQL 12, 13, 14, 15, 16, 17
- Bacula Community 15.0.3+
- RHEL/Oracle/Rocky/Alma 8/9 · Debian 12 · Ubuntu 22.04/24.04
- Rust 1.95+ (build), no runtime dependency
Installation
# RHEL / Oracle / Rocky / Alma 9
sudo dnf install podheitor-postgresql-plugin-1.0.0-1.el9.x86_64.rpm
# Debian / Ubuntu
sudo dpkg -i podheitor-postgresql-plugin_1.0.0-1_amd64.deb
Architecture
Bacula metaplugin speaking PTCOMM (binary protocol over stdin/stdout) between the File Daemon (Rust cdylib .so) and a Rust backend binary. Does not statically link Bacula AGPLv3 — only runtime ABI via extern "C". Crash-isolated, audit-friendly, no legacy license attached.
Ready to switch?
Bring us your renewal or new-contract proposal from Bacula Enterprise, Veeam, Commvault or NetBackup. We commit to a minimum 50% discount — with much more functionality.
Heitor Faria — Founder, PodHeitor International
✉ [email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
Technical whitepaper
📘 Read the full technical whitepaper — architecture, backup modes, integrations, anti-patterns and licensing model.
Disponível em:
Português (Portuguese (Brazil))
English
Español (Spanish)