Contents
v0.8.0 — Backup Support and Test Invariant Hardening
Full technical details: v0.8.0.md-full.md
Status: ✅ Released | Scope: Small (~2 weeks)
Stream tables are now fully included in
pg_dumpbackups, and the test suite gained property-based invariant testing for the differential engine.
What problem does this solve?
Production deployments need reliable backup and restore. Before v0.8.0,
pg_dump would capture the source tables but not the pg_trickle catalog
metadata or stream table state — making a restored database unusable with
pg_trickle without manual re-initialisation.
pg_dump Integration
PostgreSQL’s standard backup tool pg_dump now captures the complete
pg_trickle state alongside the rest of the database:
- The stream table definitions (queries, schedules, refresh modes)
- The catalog metadata
- The current content of each stream table
- The frontier (the point in the change history up to which changes have been applied)
A database restored from a pg_dump backup will have fully functional
stream tables — the background worker picks up exactly where it left off,
with no full re-initialisation required.
In plain terms: your backups now include your stream tables. Restore works as expected.
pg_restore and Upgrade Path Testing
The backup/restore process was integrated into the upgrade test suite. Upgrading from one pg_trickle version to another, via a backup-and-restore cycle, is now tested on every release.
Multiset Invariant Testing
The differential engine’s core correctness property is the multiset invariant: the contents of a stream table should always match what you would get from running the defining query on the current source data.
v0.8.0 adds property-based testing (using the Rust proptest library)
that generates random sequences of INSERT, UPDATE, and DELETE operations,
applies them to source tables, refreshes the stream table differentially, and
then verifies that the stream table result exactly matches a fresh full
recomputation.
In plain terms: the test suite now automatically generates thousands of random scenarios to verify that differential refresh never diverges from the correct answer. Any subtle bug in the differential engine that produces even one wrong row will be caught.
Scope
v0.8.0 is a focused quality release. The pg_dump integration makes
pg_trickle production-safe from a backup and disaster-recovery perspective.
The multiset invariant testing provides ongoing confidence in differential
correctness.