Repository navigation
Replicant 1.4.0
The plugin-decoder release. Full details in the CHANGELOG and ADR-0009.
Added
- Plugin decoders for PostgreSQL 9.6 to 14 — a new top-level
decoder:option selects the logical-decoding output plugin:pglogical(thepglogical_outputbinary protocol) orwal2json(JSON format version 2, wal2json ≥ 2.6), beside the unchangedpgoutputdefault. SameReplicant.Sinkcontract,commit_lsnwatermark, checkpoint modes and halt semantics; delivery proven byte-identical across all three decoders on live 9.6/12/15+ servers.
Fixed
- The two documented wal2json divergences are now fail-closed, not silent. A configured keyless table (no replica-identity key, identity ≠ FULL — its updates/deletes would be dropped plugin-side with no wire signal) halts at start;
allow_keyless_tables: trueopts into insert-only semantics. A dropped column halts:destructiveon every decoder — immediately for inserts and fixed-width columns via wire-level absence disambiguation, and withinschema_check_interval(default 30s) for the TOASTable-on-update-only case via a periodic catalog guard. - Empty transactions from a pre-PG15 server are suppressed (never delivered to the sink; a state mirror acks the proven-empty WAL, an append log retains it at its durable frontier).