Expand description
PostgreSQL cold adapter for the Durability-Service (ADR 0009) — the
shared/long-term PERSISTENT tier for large fleets.
Crate zerodds-durability-store-postgres. Safety classification: STANDARD.
Where the sqlite adapter is the single-file default, this one is the tier
for many producers writing into one shared, network-reachable database —
the “PostgreSQL cold tier” of the RAM/SSD/PostgreSQL story. It implements
the same DurabilityStore contract with identical semantics: one row per
sample, (topic, instance, sequence) is the sample identity (a re-send is
an idempotent replace), and retention is bounded ONLY by the topic
Contract (ADR 0009 inv. 1).
Connection uses NoTls — put the daemon and the database on a trusted
network segment, or front the database with a TLS-terminating proxy; the
connection string is a standard libpq keyword/URI form.
With the timescaledb feature the samples table is a TimescaleDB hypertable
partitioned on created_nanos (needs the extension in the target database);
sample identity is preserved by an explicit delete-then-insert on the
(topic, instance, sequence) key, so idempotency holds regardless of the
partitioning primary key.
For analytics, connect to the same database with any SQL/BI tool — the schema is stable and documented here (ADR 0009: adapters expose their own native read interface alongside the DDS path).
Structs§
- Postgres
Store - PostgreSQL-backed durability store.