# Backup PostgreSQL Incremental: Cara Kerja &amp; Batasan

PostgreSQL tidak punya backup incremental bawaan pada level logis seperti `pg_dump`. Mode incremental di Linuxteknosia Cloud memakai pendekatan yang sederhana dan transparan: **hanya tabel yang berubah** yang di-dump pada run berikutnya. Artikel ini menjelaskan cara kerjanya, termasuk batasannya, supaya Anda bisa memutuskan apakah cocok untuk database Anda.

## Cara mendeteksi tabel yang berubah

Setiap run, agent membaca statistik `pg_stat_user_tables` dan membuat _signature_ per tabel dari jumlah baris disisipkan, diperbarui, dihapus, dan baris hidup. Signature itu disimpan bersama run. Pada run berikutnya, agent membandingkan signature baru dengan yang tersimpan: tabel dengan signature berbeda dianggap berubah.

## Apa yang disimpan

-   **Run full**: `pg_dump` seluruh database (format custom), plus signature semua tabel sebagai titik awal.
-   **Run incremental**: `pg_dump` hanya tabel yang berubah (data saja), plus signature terbaru.
-   **Tanpa perubahan**: run tetap berstatus sukses tetapi tidak membuat artefak.

Dashboard membuat full baru setiap N run (misalnya jadwal tiap jam dengan N = 24 berarti satu full per hari). Retensi tidak menghapus full yang masih menjadi dasar incremental.

## Bagaimana restore berjalan

Saat Anda memilih restore ke titik incremental, agent menyusun rantai: full dasar, lalu semua incremental sampai titik itu, berurutan. Untuk tiap incremental, agent mengosongkan tabel yang terdampak lalu memuat ulang datanya dengan `pg_restore --data-only --disable-triggers`. Karena itu restore incremental membutuhkan user dengan hak superuser (dibutuhkan untuk mengubah `session_replication_role`).

## Batasan yang perlu Anda tahu

-   **Satu database per job.** Mode incremental tidak berlaku untuk dump seluruh klaster.
-   **Granularitas tabel, bukan baris.** Satu baris berubah di tabel 100 GB berarti seluruh tabel itu di-dump ulang. Mode ini paling efisien untuk database dengan banyak tabel yang jarang berubah.
-   **Bukan point-in-time recovery.** Anda memulihkan ke titik run, bukan ke detik tertentu. Untuk PITR sejati, gunakan arsip WAL; Linuxteknosia Cloud bisa menjadi tujuan penyimpanan arsip itu lewat API S3.
-   **Statistik perlu stabil.** Reset statistik (`pg_stat_reset`) membuat run berikutnya menganggap tabel berubah, sehingga ukuran incremental melonjak sekali.

## Kapan memakai full atau incremental

Situasi

Pilihan

Database kecil (di bawah beberapa GB)

Full setiap kali: paling sederhana

Banyak tabel, sebagian besar jarang berubah

Incremental, full tiap 24–168 run

Beberapa tabel sangat besar yang selalu berubah

Full terjadwal; pertimbangkan WAL archiving

## Mulai

Pasang agent, tambahkan koneksi PostgreSQL, dan buat job dengan mode Full + incremental. Langkah lengkapnya ada di [panduan backup PostgreSQL](/docs/backup-postgresql); gambaran produk di [halaman backup database](/backup-database).

## Try Linuxteknosia Cloud

S3-compatible object storage and automatic database backup for businesses in Indonesia. Sign up without a credit card; your first bucket is ready in minutes.

[Sign up](/app/register)[View pricing](/en/harga)[Documentation](/en/docs)

Start today

## Get started in five minutes, or discuss your needs with our engineering team.

Sign up on your own, create a bucket and access key, then install the backup agent from the dashboard. For large-scale migrations, contracts, or technical questions, send the form alongside and we will reply within one business day.

[Sign up now](/app/register)

-   [halo@linuxteknosia.cloud](mailto:halo@linuxteknosia.cloud)
-   Sales & consulting: Monday–Friday 09:00–18:00 WIB

Work email \*

Company / project

Used forChoose oneDatabase / server backupMedia & user uploadsStatic website assetsData lake / logs / MLOther

Estimated GB

Notes

Send and request a consultation

No credit card required. Answered directly by our engineers.