8 comments

[ 3.3 ms ] story [ 29.7 ms ] thread
We're excited to share an implementation of Message Queues as a Postgres Extension (which we've been using in production), following best practices recommended by others around this topic. Please share any suggestions and feedback.
At my previous job there were multiple use-cases where we used RabbitMQ in conjunction with Postgres. This would've made life so much easier.

Are there any instructions on installing? It'd be great if the `.so`s are released as part of GH releases.

This is interesting. I'd love to see benchmarks to have a sense of what to expect.
Awesome! We'll blogging about its benchmarks compared to Redis and SQS soon.
Is there a reason why this is implemented in Rust instead of plpgsql? At first glance I didn't see it using any features that would need a loadable extension. Plain SQL based solution would make using it on managed database services much easier.
It probably could be implemented as pure plpgsql for some of its features (basic send/receive). The long-term plan is to add additional message type support (protobuf, msgpack, etc), embed a metrics exporter (prometheus?), push notifications, and. for those we want to pull in Rust modules from open source. I bet the project could be refactored to expose the parts you're looking for as plpgsql though.

Distribution of Postgres extensions is a challenging problem that we're working on over in https://github.com/tembo-io/trunk // https://pgt.dev/. One of the goals there is to make it easier to install extensions.