Commercial-grade Bacula plugin for Firebird Database 3, 4 and 5 — filling a real gap: Bacula Enterprise does NOT ship a Firebird plugin. Three modes (gbak/dump, nbackup page-level incremental, replay-log shipping for FB ≥4), 120 unit tests, 8 phases lab-validated (Bacula 15.0.3 + FB 3/4/5). Pure Rust cdylib + ~600 KB musl static-pie backend. Crash isolation via PTCOMM. Zero Bacula AGPLv3 statically linked.
Three backup modes
| Mode | When to pick |
|---|---|
dump (gbak) |
DB ≤ 50 GB, table-level granularity desired, cross-version migration |
nbackup |
DB ≥ 50 GB, short backup window, page-level incremental chain |
replay (FB ≥ 4) |
RPO ≈ minutes, multi-site DR, continuous replication-log shipping |
Firebird support
- ✅ Firebird 3.0
- ✅ Firebird 4.0 (+ replication log →
replaymode) - ✅ Firebird 5.0 (+
gbak -par Nparallel workers) - ❌ Firebird 2.5 (out of scope)
Why this matters
Bacula Enterprise has no Firebird plugin. Today, Firebird users are stuck with:
- Amateur shell scripts calling
gbakfrom cron - External proprietary vendor solutions (with $$$$ licensing)
- Generic filesystem solutions that aren’t engine-consistent
PodHeitor Firebird brings native Bacula integration with all three of the engine’s best modes — no shellcraft, no external dependency, no broken consistency.
Comparison
| Feature | Bacula Community | Bacula Enterprise | Veeam / Others | PodHeitor Firebird |
|---|---|---|---|---|
| Native Firebird plugin | No | Does not exist | No | Yes |
| gbak (logical dump) | Manual shell | — | — | Yes, integrated |
| nbackup page-level incremental | No | — | No | Yes |
| Replication-log shipping (FB 4+) | No | — | No | Yes, minute-level RPO |
| Cross-version migration | No | — | No | Yes, via gbak |
| Crash isolation (cdylib + backend) | — | — | — | Yes, PTCOMM |
| Cost | Free (hacks) | — | $$$$ | ≥50% cheaper |
Architecture
bacula-fd dlopens libpodheitor_firebird_fd.so (Rust cdylib, ~600 KB) which fork+execs the standalone podheitor-firebird-backend binary. The cdylib and backend talk PTCOMM (length-tagged framing on stdin/stdout) — same pattern as plugin-postgresql. Crash isolation, AGPLv3 license firewall, no Bacula source statically linked.
Compatibility
- Firebird 3.0 / 4.0 / 5.0
- 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-firebird-plugin-0.1.0-1.el9.x86_64.rpm
# Debian / Ubuntu
sudo dpkg -i podheitor-firebird-plugin_0.1.0-1_amd64.deb
Ready to switch?
Running Firebird in production? The plugin you need doesn’t exist in Bacula Enterprise — only here. We commit to at least 50% discount vs any proprietary alternative, with more capabilities included.
Heitor Faria — Founder, PodHeitor International
✉ [email protected]
☎ +1 (789) 726-1749 · +55 (61) 98268-4220 (WhatsApp)
Free 30-day commercial trial.
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)