Tool Backup Open Source untuk Database Postgres
Banyak tim baru menyiapkan strategi backup saat database mereka bermasalah. Skrip cron yang menjalankan pg_dump tengah malam biasanya jadi andalan pertama. Cara ini bekerja baik saat ukuran database masih di bawah 20 GB. Masalah muncul ketika data bertumbuh hingga ratusan gigabyte. Proses dump memakan waktu berjam-jam, membebani CPU, dan memperpanjang waktu pemulihan (RTO). Celah data yang hilang (RPO) sejak jadwal backup terakhir juga terlalu lebar.
Untuk sistem produksi dengan transaksi tinggi, backup logikal seperti dump tidak lagi memadai. Kita membutuhkan backup fisik berkala yang dipadukan dengan continuous WAL archiving agar bisa menjalankan Point-in-Time Recovery (PITR). Dengan PITR, database bisa dipulihkan ke detik tepat sebelum insiden terjadi, misalnya sesaat sebelum seseorang tidak sengaja menjalankan perintah update tanpa filter where.
Berikut lima tool backup open source untuk PostgreSQL yang banyak diandalkan di lingkungan produksi saat ini.
1. pgBackRest
pgBackRest adalah tool backup paling matang dan standar industri untuk PostgreSQL. Ditulis menggunakan bahasa C, tool ini dirancang menangani database berukuran terabyte dengan beban transaksi yang sangat tinggi.
Proyek ini sempat mencuri perhatian komunitas ketika repositorinya diarsipkan pada April 2026 setelah sponsor utamanya mundur. Namun masa vakum tersebut tidak berlangsung lama. Pada Juli 2026, pgBackRest kembali aktif dengan konsorsium sponsor baru seperti AWS, Supabase, pgEdge, dan Percona. Pengembangan langsung dilanjutkan dengan rilis versi 2.59 yang menambahkan dukungan untuk PostgreSQL 19.
Fitur teknis pgBackRest sangat lengkap:
- Pemrosesan paralel untuk backup dan restore.
- Backup diferensial dan incremental hingga tingkat block-level.
- Validasi checksum halaman (page checksum) untuk mendeteksi korupsi data sedini mungkin.
- Pengiriman WAL asinkron yang mengurangi beban latency transaksi di server database.
- Multi-repository yang memungkinkan penyimpanan lokal untuk restore cepat sekaligus penyimpanan remote ke AWS S3, Google Cloud Storage, atau Azure Blob untuk redundansi.
Kekurangannya, konfigurasinya cukup rumit dan membutuhkan pemahaman mendalam tentang arsitektur stanza serta perizinan file sistem.
Cocok untuk: Database produksi skala enterprise yang membutuhkan keandalan maksimal, enkripsi repository bawaan, dan fitur proteksi ransomware berbasis object lock.
2. WAL-G
WAL-G adalah penerus WAL-E yang ditulis ulang menggunakan bahasa Go. Tool command line ini dirancang khusus untuk kecepatan dan efisiensi saat berinteraksi langsung dengan object storage.
Kelebihan utama WAL-G terletak pada pemrosesan paralel untuk kompresi dan transfer data. Saat membuat base backup, WAL-G membagi beban kerja ke beberapa core processor dan langsung mengalirkan data ke penyimpanan cloud seperti AWS S3, Google Cloud Storage, Azure Blob, maupun MinIO tanpa perlu menulis file sementara ke disk lokal.
Fitur penting lainnya mencakup delta backup (block-level incremental) dan pengelolaan arsip file WAL secara otomatis. Konfigurasinya menggunakan environment variable, format yang ramah untuk lingkungan container seperti Docker dan Kubernetes. Selain Postgres, WAL-G juga mendukung mesin database lain seperti MySQL dan MariaDB.
Kekurangannya, WAL-G murni aplikasi terminal. Tidak ada dashboard visual untuk memantau status atau mengeklik tombol restore. Operasionalnya bergantung penuh pada automasi skrip dan konfigurasi teks.
Cocok untuk: Infrastruktur cloud-native, deployment Kubernetes, dan database berukuran ratusan gigabyte hingga terabyte yang membutuhkan RPO mendekati nol tanpa server perantara.
3. Barman (Backup and Recovery Manager)
Barman dikembangkan oleh EnterpriseDB (EDB) dan ditulis dengan Python di bawah lisensi GPL-3. Berbeda dengan tool berbasis agen mandiri, Barman umumnya dioperasikan sebagai server cadangan terpusat yang bertugas memantau dan menarik backup dari beberapa klaster PostgreSQL sekaligus.
Pendekatan arsitektur ini memudahkan tata kelola infrastruktur skala besar. Barman dapat memanfaatkan protokol streaming replication dan pg_receivewal untuk mendapatkan data WAL secara terus-menerus tanpa jeda (zero data loss). Barman juga memiliki mekanisme manajemen retensi otomatis yang rapi dan katalog riwayat backup yang jelas.
Tantangan utama memakai Barman adalah kebutuhan infrastrukturnya. Anda memerlukan server cadangan terdedikasi dengan kapasitas disk yang cukup besar untuk menampung salinan database dari semua node sebelum dipindahkan ke cold storage. Konfigurasinya juga memerlukan pengelolaan izin SSH dan koneksi replikasi Postgres yang disiplin.
Cocok untuk: Perusahaan dengan server on-premise atau private cloud yang mengelola banyak klaster database dari satu titik kontrol terpusat.
4. pgmoneta
pgmoneta adalah tool backup berbasis bahasa C yang berjalan sebagai background daemon di bawah lisensi BSD 3-Clause. Tool ini dirancang dengan fokus pada efisiensi memori dan kecepatan eksekusi tinggi.
Keunggulan teknis pgmoneta adalah dukungan langsung terhadap fitur incremental backup native yang diperkenalkan mulai PostgreSQL 14. Untuk kompresi, pgmoneta mendukung algoritma modern seperti zstd, lz4, gzip, hingga bzip2.
Nilai tambah yang membedakan pgmoneta dari tool lain adalah observabilitas bawaan. pgmoneta menyertakan Prometheus exporter langsung di dalam daemon. Tim devops bisa memantau durasi backup, ukuran file, dan riwayat status langsung lewat dashboard Grafana tanpa perlu memasang skrip pengekspor tambahan. Komunikasi antar node juga diamankan dengan TLS v1.2 ke atas.
Kelemahannya, ekosistem dokumentasi dan komunitas pgmoneta relatif lebih kecil dibanding pgBackRest atau Barman. Mengelola daemon background juga membutuhkan pemahaman sistem operasi yang lebih mendalam dibanding menjalankan binary CLI biasa.
Cocok untuk: Tim SRE atau DBA yang mengandalkan stack observabilitas Prometheus dan menginginkan solusi backup berkecepatan tinggi dengan konsumsi resource server yang minim.
5. Databasus
Databasus memilih jalur berbeda dengan menyediakan antarmuka web visual. Proyek berbasis Go dan TypeScript ini menawarkan dasbor modern untuk mengelola jadwal, eksekusi, dan verifikasi restore database.
Lewat dasbor Databasus, pengguna bisa mendaftarkan koneksi database, mengatur jadwal otomatis, dan mengarahkan penyimpanan file cadangan ke S3, SFTP, Google Drive, atau NAS lokal. Setiap salinan data dilindungi enkripsi AES-256-GCM sebelum dikirim ke media simpan.
Databasus menyediakan manajemen akses berbasis peran (RBAC), pencatatan log audit, serta notifikasi status ke Slack, Discord, dan webhook. Tool ini juga fleksibel karena bisa menangani PostgreSQL, MySQL, MariaDB, dan MongoDB dalam satu panel yang sama.
Batasan Databasus terletak pada fokusnya terhadap snapshot terjadwal dan verifikasi restore otomatis, bukan continuous WAL streaming berkas per berkas untuk PITR presisi per detik. Anda juga perlu menjalankan service web mandiri untuk dasbornya.
Cocok untuk: Startup, tim agensi, atau pengembang aplikasi yang tidak memiliki tim DBA khusus dan menginginkan kepraktisan antarmuka visual untuk mengamankan data secara rutin.
Komparasi
Berikut rangkuman perbandingan kelima tool backup PostgreSQL:
| Tool | Database | Cloud Storage (S3/GCS/Azure) | PITR |
|---|---|---|---|
| pgBackRest Bahasa: C Lisensi: MIT Antarmuka: CLI |
PostgreSQL | Ya (Native) | Penuh |
| WAL-G Bahasa: Go Lisensi: Apache 2.0 Antarmuka: CLI |
Multi-engine (PG, MySQL, dll) | Ya (Direct stream) | Penuh |
| Barman Bahasa: Python Lisensi: GPL-3.0 Antarmuka: CLI |
PostgreSQL | Ya (Via hook/sync) | Penuh |
| pgmoneta Bahasa: C Lisensi: BSD-3 Antarmuka: Daemon / CLI |
PostgreSQL | Terbatas | Penuh |
| Databasus Bahasa: Go / TS Lisensi: Apache 2.0 Antarmuka: Web UI |
Multi-engine (PG, MySQL, Mongo) | Ya | Terbatas / Snapshot |
Menentukan Pilihan
Kebutuhan arsitektur menentukan tool yang paling pas:
- Gunakan pgBackRest jika sistem berjalan pada skala enterprise dengan transaksi besar dan membutuhkan perlindungan integritas data tertinggi lewat verifikasi page checksum.
- Gunakan WAL-G jika aplikasi berjalan di cloud atau Kubernetes dan menginginkan proses backup cepat tanpa memerlukan disk perantara di server.
- Gunakan Barman jika mengelola armada server bare-metal atau on-premise yang tersentralisasi dalam satu node kontrol.
- Gunakan pgmoneta jika metrik Prometheus adalah standar utama pemantauan infrastruktur dan Anda mengejar efisiensi CPU serta RAM.
- Gunakan Databasus jika tim membutuhkan panel visual mandiri tanpa harus menyusun skrip bash manual di server.
Prinsip utama backup database tidak berubah: file backup yang belum pernah diuji proses restore-nya tidak bisa dianggap ada. Tool apa pun yang dipilih, pastikan simulasi restore dijalankan berkala di lingkungan staging sebelum menerapkan ke lingkungan produksi.