reliar-store-postgres 0.9.0

PostgreSQL provider for the Reliar transactional outbox and inbox: migrations, migrate(), enqueue and the SKIP LOCKED claim.
Documentation
//! [`PostgresInboxStore`]: construction, the [`reliar_inbox::InboxStore`] implementation, and
//! [`reliar_inbox::InboxDeadLetters`] — two layers, mirroring `outbox/`'s shape, one file per
//! public trait (`docs/architecture/store-postgres-layout.md` Part II §6). The **store layer** (`inbox_store`, the
//! type/construction plus the *whole* `InboxStore` impl; `inbox_store_dead_letters` for
//! `InboxDeadLetters`) holds every `Session::run`, `map_err`, span, and the shared row-to-record
//! rehydration (`inbox_store::build_record`, reused by `inbox_store_dead_letters::list_dead`).
//! The **concern layer** (`claim`, `outcomes`, `purge`, `dead_letters`, plus `rows` for the shared
//! [`rows::InboxRow`] shape) holds one `sqlx::query*!` per function, over `impl PgExecutor<'_>`
//! plus a `<Verb><Noun>Params`, and imports no `Session`, no settings, no typed error, no
//! `tracing`. `rows.rs` has no `crate::outbox` counterpart: the outbox shares its row shape via
//! `crate::records::RawRow` instead, since the inbox's row type lives here.

mod claim;
mod dead_letters;
mod error;
mod inbox_store;
mod inbox_store_dead_letters;
mod outcomes;
mod purge;
mod rows;

pub use error::PostgresInboxError;
pub use inbox_store::PostgresInboxStore;