Skip to main content

powdb_backup/
lib.rs

1//! Physical backup, restore, and point-in-time recovery for PowDB.
2//!
3//! Supports full snapshots ([`full_backup`]) and incremental (differential)
4//! backups against a full base ([`incremental_backup`]). Heap files use
5//! page-LSN deltas; B+tree index files are copied as opaque whole artifacts.
6//! Restore rebuilds a data directory from a full backup ([`restore()`]), or
7//! chains a full base plus ordered increments for coarse point-in-time
8//! recovery ([`restore_chain`]). [`RestoreSyncMode`] controls whether a
9//! restored copy strips, preserves, or forks the source's sync identity, and
10//! [`bootstrap_replica_from_full_backup`] seeds a sync replica from a backup.
11pub mod bootstrap;
12pub mod full;
13pub mod incremental;
14pub mod manifest;
15pub mod restore;
16pub use bootstrap::{bootstrap_replica_from_full_backup, ReplicaBootstrapSummary};
17pub use full::full_backup;
18pub use incremental::{incremental_backup, restore_chain, restore_chain_with_sync_mode};
19pub use manifest::{
20    BackupManifest, ChangedFile, FileEntry, IncrementManifest, SyncSnapshotMetadata,
21};
22pub use restore::{restore, restore_with_sync_mode, RestoreSyncMode};