A PostgreSQL-based event store and message store for pub/sub, event sourcing, and microservices applications.
Message DB is a microservice-native event store and message store implemented in PostgreSQL. It provides a complete solution for pub/sub messaging, event sourcing, and event-driven microservices by storing messages as JSON in dedicated database tables with functions for writing and reading streams.
Developers and architects building event-driven microservices, event-sourced systems, or pub/sub messaging infrastructures who want a database-native solution without external dependencies.
It offers a minimalist, self-contained alternative to complex systems like Kafka or Event Store, leveraging PostgreSQL's reliability and JSON capabilities while providing essential messaging patterns and easy self-hosting.
Microservice native message and event store for Postgres
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements messaging directly in PostgreSQL, eliminating external dependencies and leveraging existing database infrastructure for deployment ease.
Ensures gapless stream positions in the messages table, which is critical for reliable event replay and consistency in event-sourced systems.
Uses PostgreSQL's JSONB type for message data and metadata, allowing efficient storage, querying, and schema-less flexibility as shown in the API examples.
Supports cooperative message processing via functions like get_category_messages with consumer_group parameters, enabling scalable microservice architectures without extra tooling.
The entire system is tightly coupled to PostgreSQL's functions and schema, making migration to other databases nearly impossible and limiting technology flexibility.
Relies on PostgreSQL's single-instance scalability, which may bottleneck under ultra-high message volumes compared to distributed systems like Kafka, as admitted in the rationale.
Requires developers to write their own clients for each language, since the API is based on PostgreSQL functions with limited pre-built libraries beyond Ruby and NPM packages.
Message DB is an open-source alternative to the following products: