Belajar pgBackRest - Pre-Requisites Skill & Setup Environment
Episode 0 of 23

Belajar pgBackRest - Pre-Requisites Skill & Setup Environment

Sebelum menyentuh pgBackRest, kalian perlu menguasai PostgreSQL dasar (psql, pg_ctl, WAL), administrasi Linux (user, systemd, permission), dan konsep storage. Di episode ini kalian juga menyiapkan PostgreSQL 13-18, menginstall pgBackRest 2.59.0, membuat direktori repository, dan menyiapkan SSH untuk mode remote.

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

Pendahuluan

Selamat datang di series Belajar pgBackRest! Series ini akan membawa kalian menguasai pgBackRest — solusi backup & restore PostgreSQL yang reliabel, parallel, dan scalable — dari arsitektur (repository, stanza, WAL archiving) hingga konfigurasi, retention, enkripsi, dan praktik produksi untuk database besar. Total ada 23 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.

Sebelum menjalankan pgbackrest backup --type=full, ada skill dasar dan perangkat yang wajib kalian miliki. Mengapa prasyarat ini penting? Karena pgBackRest bekerja di lapisan terendah PostgreSQL: ia memanfaatkan WAL archiving, berkomunikasi dengan server database melalui libpq, dan menyimpan file ke repository. Tanpa memahami lapisan-lapisan ini, kalian akan kesulitan mendiagnosis kenapa archive-push gagal atau kenapa restore tidak konsisten.

Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan PostgreSQL, menginstall pgBackRest 2.59.0, membuat direktori repository, dan memverifikasi environment untuk pertama kali.

Skill Dasar yang Wajib Dimiliki

PostgreSQL Dasar

Kalian harus nyaman dengan konsep inti PostgreSQL: cluster (kumpulan database yang dikelola satu instance), psql (client), pg_ctl (kontrol server), dan terutama WAL (Write-Ahead Log). WAL adalah log transaksi yang memungkinkan point-in-time recovery — inilah jantung cara kerja pgBackRest. Praktikkan hal-hal berikut:

Latihan psql dan pg_ctl
psql -U postgres -c "SELECT version();"
pg_ctl status -D /var/lib/postgresql/16/main

Pahami juga pg_hba.conf (otentikasi koneksi) dan postgresql.conf (konfigurasi server) — pgBackRest akan menyentuh keduanya, khususnya parameter archive_mode dan archive_command.

Linux: User, Systemd, dan Permission

pgBackRest berjalan sebagai binary yang dipanggil oleh PostgreSQL (lewat archive_command) maupun oleh scheduler (cron/systemd timer). Kalian wajib paham manajemen user (useradd), service (systemctl), dan file permission (owner/group/mode). Contoh yang paling sering jadi sumber masalah di production: direktori repository dimiliki user yang salah, sehingga archive-push gagal dengan permission denied.

Storage: Mount, NFS, dan Object Storage

Repository pgBackRest bisa berada di disk lokal, NFS mount, atau object storage (S3-compatible). Kalian perlu memahami konsep mount point, ukuran dan ruang disk, serta latensi. Ingat: backup yang bagus tidak ada artinya jika disimpan di disk yang sama dengan database — kita akan bahas off-site backup di episode 12.

Perangkat Software dan Hardware yang Disiapkan

PostgreSQL 13-18 Terpasang

Series ini menggunakan PostgreSQL dengan rentang versi 13 sampai 18 — pgBackRest 2.59.0 mendukung hingga 10 versi PostgreSQL sekaligus. Pastikan satu versi terpasang dan berjalan sebagai service:

Cek versi dan status PostgreSQL
psql -U postgres -c "SHOW server_version;"
systemctl status postgresql

Jika belum terpasang, install dari repo distribusi atau PGDG (PostgreSQL Global Development Group):

Install PostgreSQL 16 (Debian/Ubuntu)
sudo apt install -y postgresql-16

pgBackRest 2.59.0

Install pgBackRest 2.59.0 (rilis 20 Juli 2026) — current stable. Dari paket distribusi:

Install pgbackrest dari paket
sudo apt install -y pgbackrest
pgbackrest version

pgbackrest version harus menampilkan pgbackrest 2.59.0. Alternatifnya, kalian bisa build dari source (kita bahas lebih dalam di episode 3).

Direktori Repository

Buat direktori repository yang dimiliki user postgres. Lokasi default pgBackRest adalah /var/lib/pgbackrest:

Buat direktori repository
sudo mkdir -p /var/lib/pgbackrest
sudo chown -R postgres:postgres /var/lib/pgbackrest

Direktori ini nanti menjadi tempat stanza dan semua file backup disimpan.

SSH untuk Mode Remote

Mode remote (repository di host lain, atau database di host lain) membutuhkan SSH dengan key authentication. Pastikan ssh terinstall dan key sudah digenerate:

Generate SSH key untuk pgBackRest
ssh-keygen -t ed25519 -N "" -f ~/.ssh/id_ed25519

Kita akan mengonfigurasikan mode remote secara penuh di episode 12 dan 13. Untuk sekarang, cukup pastikan SSH bisa jalan tanpa password.

Verifikasi Environment

Sebelum lanjut ke episode 1, jalankan verifikasi menyeluruh:

Verifikasi environment
pgbackrest version
psql -U postgres -c "SELECT version();"
ls -ld /var/lib/pgbackrest
ssh -o BatchMode=yes localhost true

Keempat perintah harus sukses: versi 2.59.0, PostgreSQL merespons, direktori repository milik postgres, dan SSH berjalan tanpa prompt password.

Warning

Jangan menyimpan repository backup di partisi yang sama dengan data database. Jika disk rusak, backup ikut hilang. Gunakan mount terpisah, NFS, atau object storage — ini keputusan arsitektur yang paling menentukan kelangsungan recovery di episode-episode berikutnya.

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill PostgreSQL: cluster, WAL, psql, pg_ctl, pg_hba.conf.
  • Skill Linux: user, systemd, file permission, mount.
  • PostgreSQL 13-18: satu versi terpasang dan berjalan.
  • pgBackRest 2.59.0: terinstall, pgbackrest version mencetak versi.
  • Repository: /var/lib/pgbackrest dimiliki user postgres.
  • SSH: key authentication siap untuk mode remote.

Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 22 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.

Penutup

Inti yang harus dibawa pulang:

  • pgBackRest bekerja di lapisan WAL dan file system — kuasai dasar PostgreSQL dan Linux dulu.
  • Install PostgreSQL 13-18 dan pgBackRest 2.59.0 (rilis 20 Juli 2026).
  • Direktori repository /var/lib/pgbackrest wajib dimiliki user postgres.
  • Siapkan SSH key authentication untuk mode remote.
  • Jangan pernah taruh repository di partisi yang sama dengan data database.

Di episode 1 selanjutnya kita akan membahas sejarah, latar belakang, dan mengapa membutuhkan pgBackRest — dari inisiasi Crunchy Data tahun 2014, keterbatasan skrip pg_basebackup + WAL archiving yang rapuh, hingga fitur parallel backup, WAL archiving kontinu, PITR presisi, dan retention policy yang menjadikannya standar backup PostgreSQL modern. Pastikan environment kalian sudah siap, karena perjalanan Belajar pgBackRest baru saja dimulai!