Episode ini menghidupkan pgBackRest untuk pertama kali: membuat stanza dengan stanza-create, memvalidasi seluruh rantai koneksi dan WAL archiving dengan check, lalu menjalankan backup full pertama dan membaca statusnya lewat pgbackrest info. Ini momen repository kalian mulai diisi data sungguhan.

Konfigurasi kita sudah benar di episode 3, tetapi belum ada satu pun stanza yang nyata di repository. Di episode 4 kita melakukan tiga hal untuk pertama kalinya: membuat stanza, memvalidasi seluruh rantai, dan menjalankan backup full pertama. Tiga momen ini adalah "detak jantung pertama" dari sistem backup kalian.
Urutannya tidak boleh dibalik: stanza harus dibuat dulu sebelum check, dan check harus sukses sebelum backup. pgBackRest memang akan menolak perintah yang melompati urutan ini — tetapi memahami mengapa urutannya begitu akan menyelamatkan kalian dari kebingungan saat error muncul.
stanza-create meregistrasi metadata cluster di repository: identitas cluster (system identifier dan timeline), lokasi PGDATA, dan status archiving. Tanpa registrasi ini, pgBackRest tidak tahu cluster mana yang sedang dikelola — dan menolak menerima backup maupun WAL.
sudo -u postgres pgbackrest --stanza=main stanza-createPerhatikan: kita menjalankan perintah sebagai user postgres. Ini penting karena pgBackRest mengakses repository dan database dengan identitas user yang sama. Output suksesnya singkat dan bersih — tidak ada berita adalah berita baik.
Note
Seluruh perintah pgBackRest sebaiknya dijalankan sebagai user postgres (via sudo -u postgres) ketika menangani cluster lokal. Alternatifnya, buat user khusus pgbackrest — itu praktik yang kita bahas di episode 13 untuk mode remote. Untuk sekarang, sudo -u postgres cukup.
pgbackrest check adalah "health check" menyeluruh yang memvalidasi lima hal sekaligus:
pg1-host/pg1-path yang dikonfigurasi.Mari jalankan:
sudo -u postgres pgbackrest --stanza=main checkOutput suksesnya:
P00 INFO: check command end: completed successfully (72ms)Kegagalan paling umum saat pertama kali adalah WAL archiving belum aktif. check menjalankan archive-push uji yang membutuhkan archive_mode=on di postgresql.conf. Jika gagal, aktifkan:
archive_mode = on
archive_command = 'pgbackrest --stanza=main archive-push %p'
archive_timeout = 60lalu restart: sudo systemctl restart postgresql. Jika error berkisar pada permission atau identitas cluster, ulangi verifikasi owner direktori (episode 3) dan pastikan stanza tidak pernah dibuat untuk cluster lain.
Tip
Jadikan pgbackrest check sebagai ritual harian, bukan sekali jalan. Di episode 14 kita akan menjadwalkannya sebagai bagian dari monitoring — kegagalan check adalah sinyal awal paling cepat untuk WAL archiving yang bermasalah.
Dengan stanza sehat, sekarang saatnya backup full pertama:
sudo -u postgres pgbackrest --stanza=main backup --type=full--type=full menyalin seluruh PGDATA ke repository. Untuk database kecil, ini selesai dalam detik. Perhatikan outputnya menampilkan progress per-file dan ringkasan durasi:
P00 INFO: backup command begin 2.59.0: ...
P01 INFO: backup file ... (100%)
P00 INFO: backup command end: completed successfully (2.1s)Setelah backup selesai, lihat status stanza:
sudo -u postgres pgbackrest infoOutput menampilkan ringkasan per stanza — versi cluster, WAL yang diarsipkan, dan daftar backup:
stanza: main
status: ok
cipher: none
db (current)
wal archive min/max (16): 000000010000000000000001/...
full backup: 20260813-090000F
timestamp start/stop: 2026-08-13 09:00:00 / 09:00:02
wal start/stop: ...
database size: 24.8MB, backup size: 24.8MBLabel backup seperti 20260813-090000F punya arti: tanggal-jam saat backup dimulai, diakhiri huruf tipe (F = full, D = differential, I = incremental). Label ini adalah identitas yang dipakai perintah restore dan expire nanti.
Untuk detail lebih terstruktur (yang dipakai script monitoring), ada format JSON:
sudo -u postgres pgbackrest info --output=jsonSetelah episode 4, siklus harian kalian sudah bisa:
pgbackrest --stanza=main check — pastikan rantai sehat.archive_command.pgbackrest --stanza=main backup --type=full — snapshot penuh terjadwal.pgbackrest info — verifikasi backup terbaru muncul.Belum ada otomasi — itu datang di episode 10. Untuk sekarang, fokus pada penguasaan perintah manual.
Warning
Jangan pernah menjalankan backup pertama tanpa stanza-create dan check sukses. Backup akan langsung gagal dengan error stanza tidak ditemukan, dan kalian akan menghabiskan waktu mendiagnosis sesuatu yang sebenarnya soal urutan. Urutan: stanza-create → check → backup.
Inti yang harus dibawa pulang:
stanza-create meregistrasi cluster di repository — wajib sebelum yang lain.check memvalidasi koneksi DB, repository, dan archive-push/get sekaligus.backup --type=full menyalin seluruh PGDATA; backup pertama selalu full.pgbackrest info membaca status stanza dan label backup (...F, ...D, ...I).Di episode 5 selanjutnya kita akan membedah ketiga tipe backup — full, differential, dan incremental — dengan contoh rantai, cara kerja dan ukuran masing-masing, serta pengaturan retention (repo1-retention-full, repo1-retention-diff) yang membuat kombinasi ketiganya hemat ruang tanpa kehilangan jaminan recovery. Mulai episode ini, strategi backup kalian bukan lagi "full setiap hari", melainkan sistem yang terencana!