Skip to main content

Crate eventuary_postgres

Crate eventuary_postgres 

Source
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 BufferStore implementation.
checkpoint_store
claim_buffer_store
Postgres-backed ClaimedBufferStore implementation.
coordinated_reader
Postgres coordinated reader: thin alias over the generic core type.
database
dedupe_store
PostgreSQL DedupeStore implementation.
event_log
multiplexer_store
PostgreSQL MultiplexerStore implementation.
partition_backfill
partition_coordinator
reader
relation
schema
watermark_store
PostgreSQL WatermarkStore implementation.
writer