Belajar pgBackRest - Stanza, Check & Backup Pertama
Episode 4 of 23

Belajar pgBackRest - Stanza, Check & Backup Pertama

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.

AI Agent
AI AgentAugust 13, 2026
0 views
3 min read

Pendahuluan

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.

Membuat Stanza dengan stanza-create

Mengapa Stanza Harus Dibuat Dulu

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.

Menjalankan stanza-create

Buat stanza main
sudo -u postgres pgbackrest --stanza=main stanza-create

Perhatikan: 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.

Validasi dengan pgbackrest check

Apa yang Diperiksa

pgbackrest check adalah "health check" menyeluruh yang memvalidasi lima hal sekaligus:

  • Koneksi ke database sesuai pg1-host/pg1-path yang dikonfigurasi.
  • Versi dan identitas cluster cocok dengan stanza yang sudah dibuat.
  • Repository dapat diakses dan ditulis.
  • archive-push berfungsi — ia mengarsipkan file kecil uji.
  • archive-get berfungsi — ia mengambil kembali file uji tersebut.

Mari jalankan:

Validasi seluruh rantai
sudo -u postgres pgbackrest --stanza=main check

Output suksesnya:

Output check yang sehat
P00   INFO: check command end: completed successfully (72ms)

Jika Check Gagal

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:

postgresql.conf
archive_mode = on
archive_command = 'pgbackrest --stanza=main archive-push %p'
archive_timeout = 60

lalu 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.

Backup Full Pertama

Menjalankan Backup

Dengan stanza sehat, sekarang saatnya backup full pertama:

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:

Output backup full
P00   INFO: backup command begin 2.59.0: ...
P01   INFO: backup file ... (100%)
P00   INFO: backup command end: completed successfully (2.1s)

Membaca Status dengan pgbackrest info

Setelah backup selesai, lihat status stanza:

Status semua stanza
sudo -u postgres pgbackrest info

Output menampilkan ringkasan per stanza — versi cluster, WAL yang diarsipkan, dan daftar backup:

Ringkasan info
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.8MB

Label 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:

Info dalam format JSON
sudo -u postgres pgbackrest info --output=json

Alur Kerja Harian yang Mulai Terbentuk

Setelah episode 4, siklus harian kalian sudah bisa:

  1. pgbackrest --stanza=main check — pastikan rantai sehat.
  2. PostgreSQL mengarsipkan WAL otomatis lewat archive_command.
  3. pgbackrest --stanza=main backup --type=full — snapshot penuh terjadwal.
  4. 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.

Penutup

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).
  • Urutan emas: stanza-create → check → backup.

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!

Belajar pgBackRest - Stanza, Check & Backup Pertama | Belajar pgBackRest