I’m a big believer in Postgres for its versatility and simplicity. If you don’t need a full-blown message queue like Kafka or RabbitMQ, Postgres gets the job done. Thanks to ACID transactions, tools like PGMQ and DBOS queues leverage Postgres where durability and exactly-once delivery are built-in.
Comments
I'd be happy to hear your thoughts and feedback on this👋
* partition-able PKs (bigserial or UUIDv7, not UUIDv4)
* partitioning
* good vacuuming
* dropping and rebuilding indexes periodically
Very achievable, but not out-of-the-box.
I am a big fan of RDBMS, especially Postgres and its features, such as SKIP LOCKED, LISTEN/NOTIFY, and Advisory Locks 🙌🏻
Anyway, when you say “effectively exactly once”, do you mean the so-called “exactly-once processing”?
Everything is a log.
On this blessed day, we are all logs.
In contrast, I've seen a piece of (rather questionable) OSS that requires literally all of these datastores: Postgres, Redis, Mongo, Kafka, Clickhouse, and RabbitMQ.