CLAIM 01
Your source database and its WAL stay protected.
ShippingA logical replication slot is a standing claim on your primary's disk. When a consumer stalls, the slot holds WAL and the pressure lands on the database that is serving your customers. Postgres will not tell you this is happening; lag simply reads as “catching up” until storage alarms.
Trellara moves that pressure off the primary. The relay publishes to a durable boundary — a local segment log or your broker — and only then advances the source checkpoint. A consumer that stalls stalls against Trellara's retention, not yours. And the first command you ever run is a read-only grader that tells you the risk you already have, before Trellara creates anything.
How you falsify it
Point the diagnostic at a production source. It creates no publication, no slot, no checkpoint and no target state — verify that with your own audit log.
trellara-check $POSTGRES_URL --format textThen stall a consumer on purpose and watch which disk grows. How the ordering works →
The capabilities underneath
Source safety & WAL governance Shipping
Grades an existing source for CDC readiness before anything is created: slot posture, plugin, wal_status, safe WAL size, invalidation reason, failover and synced flags, idle-slot timeout, and replication conflicts.
trellara-check · trellara preflight
Publish-before-acknowledge ordering Shipping
The source checkpoint advances only after the publish is durable. The failure mode this chooses is duplicates on replay, never a gap — and the applier is built to absorb duplicates.
see the recovery sequence in §03
Durable log without a broker Shipping
Disk-backed segment log with fsync, offset index, per-consumer cursors, torn-tail detection and large-transaction spill. Retention pressure lives here instead of on your primary, and the first evaluation needs no infrastructure.
trellara run --local
One slot per source Shipping
Replicas, search indexes, caches and lakehouse tables are served from a single capture. Every additional consumer costs a cursor on Trellara's log, not another slot on your database.
trellara status --view diagnostics