Expand description
PostgreSQL event log backend for eventuary.
Provides an append-only events table backed by sqlx::PgPool with source
cursors (PgCursor) ordered by BIGSERIAL sequence. PgReader is a source
reader: its acker advances only the active in-memory stream cursor, and nack
leaves the row eligible for redelivery by that stream.
Durable consumer progress is owned by PgCheckpointStore and composed with
eventuary_core::io::reader::CheckpointReader. Checkpoints are keyed by
(consumer_group_id, stream_id, cursor_id) and store the full cursor as JSON.
Schema setup is component-owned. PgWriter::connect(pool, config).await
prepares only the event-log table, while
PgDedupeStore::connect(pool, config).await prepares only the dedupe table.
PgDatabase::connect(...) only opens a pool and does not create Eventuary
tables.
Also ships postgres-backed implementations of the IO store traits:
Re-exports§
pub use buffer_store::PgBufferStore;pub use buffer_store::PgBufferStoreConfig;pub use buffer_store::PgBufferStoreId;pub use checkpoint_store::PgCheckpointStore;pub use checkpoint_store::PgCheckpointStoreConfig;pub use claim_buffer_store::PgClaimedBufferStore;pub use claim_buffer_store::PgClaimedBufferStoreConfig;pub use coordinated_reader::PgCoordinatedAcker;pub use coordinated_reader::PgCoordinatedCursor;pub use coordinated_reader::PgCoordinatedReader;pub use coordinated_reader::PgCoordinatedReaderConfig;pub use coordinated_reader::PgCoordinatedStream;pub use coordinated_reader::PgCoordinatedSubscription;pub use dedupe_store::PgDedupeStore;pub use dedupe_store::PgDedupeStoreConfig;pub use event_log::PgEventLogSchema;pub use event_log::PgEventLogSchemaConfig;pub use multiplexer_store::PgMultiplexerStore;pub use multiplexer_store::PgMultiplexerStoreConfig;pub use partition_backfill::BackfillReport;pub use partition_backfill::PgPartitionBackfill;pub use partition_backfill::PgPartitionBackfillConfig;pub use partition_coordinator::PgPartitionCoordinator;pub use partition_coordinator::PgPartitionCoordinatorConfig;pub use watermark_store::PgWatermarkStore;pub use watermark_store::PgWatermarkStoreConfig;pub use writer::PgPartitioningConfig;pub use writer::PgWriter;pub use writer::PgWriterConfig;
Modules§
- buffer_
store - PostgreSQL
BufferStoreimplementation. - checkpoint_
store - claim_
buffer_ store - Postgres-backed
ClaimedBufferStoreimplementation. - coordinated_
reader - Postgres coordinated reader: thin alias over the generic core type.
- database
- dedupe_
store - PostgreSQL
DedupeStoreimplementation. - event_
log - multiplexer_
store - PostgreSQL
MultiplexerStoreimplementation. - partition_
backfill - partition_
coordinator - reader
- relation
- schema
- watermark_
store - PostgreSQL
WatermarkStoreimplementation. - writer