Introducing PGMQ: Simple Message Queues Built on Postgres(tembo.io)
tembo.io
Introducing PGMQ: Simple Message Queues Built on Postgres
https://tembo.io/blog/introducing-pgmq/
8 comments
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.
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.
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.
On the same subject (job queue based on PostgreSQL), I'm successfully using the https://github.com/graphile/worker/ (NodeJS) project in production.
Jobs are written in Javascript.
Jobs are written in Javascript.
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.
Are there any instructions on installing? It'd be great if the `.so`s are released as part of GH releases.
If you're on Linux and pg15, you can install it with https://github.com/tembo-io/trunk. It is only tested on pg15 but we are actively working to increase OS and Postgres version support. `trunk install pgmq` should install with the pg_config on your path by default.
If this does not work you can build from source. There is a guide in the contributing docs https://github.com/tembo-io/pgmq/blob/main/CONTRIBUTING.md
If this does not work you can build from source. There is a guide in the contributing docs https://github.com/tembo-io/pgmq/blob/main/CONTRIBUTING.md
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.