+--------------------------------------------------------------+ | PanValik | | transparent PostgreSQL archive preservation toolkit | +--------------------------------------------------------------+
version: v0.2.1-1 | build c639c4c3dcb7
$ whoami
PanValik preserves PostgreSQL WAL-related objects in self-describing, verifiable containers built from ordinary Unix primitives.
$ panvalik --help
archive archive WAL/history objects receive receive and verify a tar-v2 stream restore restore local-first, with recursive upstream fallback chain validate WAL continuity verify verify inner / outer / both repair rebuild disposable outer metadata repack change compression representation wpk build archival WAL packages
$ cat /etc/postgresql/.../postgresql.conf
archive_command = 'panvalik archive 18-main "%p" "%f"' restore_command = 'panvalik restore 18-main "%f" "%p"'
Transport topology stays inside PanValik. PostgreSQL sees one stable interface.
$ family-tree
vnuchok <-- [ praDeD ] <-- < dEd >
| |
restore archive
policy ingress
Restore is local-first. Proven absence may fall back upstream. A present but corrupt local object fails closed instead of being silently hidden by another node.
$ principles
- PostgreSQL payload bytes remain unchanged.
- Inner metadata is authoritative; outer metadata is a rebuildable index.
- Publication is atomic: a complete verified object, or nothing.
- Pipe transport propagates failure from every stage.
- Formats remain readable with standard Unix tools.