Skip to main content

Crate zerodds_durability_store_postgres

Crate zerodds_durability_store_postgres 

Source
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§

PostgresStore
PostgreSQL-backed durability store.